基于python的数据分析方法五种_利用Python进行数据分析 第5章 pandas入门(1)
pandas庫,含有使數據清洗和分析工作變得更快更簡單的數據結構和操作工具。pandas是基于NumPy數組構建。
pandas常結合數值計算工具NumPy和SciPy、分析庫statsmodels和scikitlearn,和可視化庫matplotlib等工具一同使用。
5.1 pandas數據結構介紹
pandas的主要數據結構:Series和DataFrame
(1)Series
Series是一種類似于一維數組的對象,由一組數據(各種NumPy數據類型)以及一組與之相關的數據標簽(即索引)組成:
可通過Series的values和index屬性獲取其數組表示形式和索引對象:
可創建自定義的索引(Series的索引可以通過賦值的方式就地修改):
1)與普通NumPy數組相比,可通過索引的方式選取Series中的單個或一組值:
2)使用NumPy函數或類似Numpy的運算(如根據布爾類型數組進行過濾、標量乘法、應用數學函數等)都會保留索引值的鏈接:
3)還可將Series看成是一個定長的有序字典,因為它是索引值到數據值的一個映射(故它可用在許多原本需要字典參數的函數中):
4)若數據被存放在一個Python字典中,也可以直接通過這個字典來創建Series:
如果只傳入一個字典,則結果Series中的索引就是原字典的鍵(有序排列)。
5)可傳入排好序的字典的鍵以改變順序:
注意:California為新增的州,在sdata中找不到值,故結果為NaN(“非數字”, Not a Number);原sdata中的Utah不在states中,故被從結果中剔除。
6)pandas用isnull和notnull函數檢測缺失數據(Series也有類似的實例方法 .isnull() ):
Series類似的實例方法 .isnull() :
*** 7)Series最重要的一個功能:根據運算的索引標簽自動對齊數據!(類似數據庫的join操作)
8)Series對象本身及其索引都有一個name屬性,該屬性跟pandas其他的關鍵功能關系非常密切:
(2)DataFrame
DataFrame是一個表格型的數據結構,含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。
DataFrame既又行索引也有列索引,可以被看做由Series組成的字典(共用同一個索引)。
1.1 )最常用的DataFrame創建方式
直接傳入一個由等長列表或NumPy數組組成的字典:
注:結果DataFrame會自動加上索引(跟Series一樣),且全部列會被有序排列
.head() 方法可用于選取前五行:
DataFrame可通過指定列序列,對所有列按照指定順序進行排列:
如果傳入的列在數據中找不到,就會在結果中產生缺失值:
1.2 )另一種常見的DataFrame數據創建形式是嵌套字典
用嵌套字典傳給DataFrame,pandas會被解釋為:外層字典的鍵作為列,內層鍵作為行索引
內層字典的鍵會被合并、排序以形成最終的索引。如果明確指定了索引,則會按指定順序進行排列:
1.3 )由Series組成的字典差不多一樣的用法
2)將DataFrame的列獲取為一個Series
通過類似字典標記的方式:
屬性訪問的方式:
注:返回的Series擁有原DataFrame相同的索引
3)通過位置或名稱的方式獲取行的Series
Ps:loc屬性詳解:???
4)通過賦值的方式,可以對列進行修改
Ps:將列表或數組賦值給某個列時,其長度必須跟DataFrame的長度相匹配。
a)如果賦值的時一個Series,則會精確匹配DataFrame的索引,所有空位都將被填上缺失值:
b)為不存在的列賦值,會創建一個新列。關鍵字del用于刪除列
關鍵字del用于刪除列
5)對DataFrame進行轉置(交換行和列)
可使用類似NumPy數組的方法 .T:
6)DataFrame構造函數所能接受的各種數據
7)設置DataFrame的index和columns的name屬性
8)DataFrame的values屬性
跟Series一樣values屬性也會以二維nadarray的形式返回DataFrame中的數據:
注:如果DataFrame各列的數據類型不同,則值數組的dtype就會選用能兼容所有列的數據類型:
(3)索引對象
pandas的索引對象負責管理軸標簽和其他元數據(比如軸名稱等)。
構建Series和DataFrame時,所用到的任何數組或其他序列的標簽都會被轉換成一個Index:
Index對象是不可變的,無法對其進行修改。不可變,可使Index對象在多個數據結構之間安全共享:
與Python的集合不同,pandas的Index可以包含重復的標簽。
Index的方法和屬性:
總結
以上是生活随笔為你收集整理的基于python的数据分析方法五种_利用Python进行数据分析 第5章 pandas入门(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cookie关键字_我遇过的最难的Coo
- 下一篇: golang中文文档_Golang 标准