Python Pandass數據結構之DataFrame

DataFrame是一個二維標記數據結構,具有可能不同類型的列。您可以將其視爲電子表格或SQL表,或Series對象的字典。它通常是最常用的pandas對象。與Series一樣,DataFrame接受許多不同類型的輸入:

1.1D ndarray,list,dicts或Series的Dict
2.二維numpy.ndarray
3.結構化或記錄 ndarray
4.Series
5.DataFrame

沒我們想象的那麼複雜,對於DataFrame的操作無非也就是增刪改查。我們也經常將DataFrame稱之爲數據幀。

DataFrame的使用方法如下:

DataFrame(columnsMap)
pandas.DataFrame( data, index, columns, dtype, copy)
data:上面介紹的各種數據類型
index:行標籤,可選缺省值np.arrange(n)
columns:列標籤,可選缺省值 np.arange(n)
dtype:列的數據類型
copy:默認值爲False,則此命令(或任何它)用於複製數據。

創建一個空的DataFrame:
在這裏插入圖片描述

從list或者1D ndarray構建

在這裏插入圖片描述

通過index和columns屬性分別訪問行標籤和列標籤

在這裏插入圖片描述

指定行列索引

在這裏插入圖片描述

在這裏插入圖片描述

訪問列:變量名[列名]

在這裏插入圖片描述

訪問行:變量名[n:m] 訪問從n開始到m-1行的數據

在這裏插入圖片描述

同樣也可以通過索引名來訪問:
在這裏插入圖片描述

訪問行和列()
變量名.iloc[n1:n2,m1:m2] 訪問n1到(n2-1)行,m1到(m2-1)

在這裏插入圖片描述

訪問指定位置:變量名.at[行名,列名] 

在這裏插入圖片描述
如果key不存在的話,會報如上錯誤。

訪問指定位置:變量名.loc[行索引名,列索引名] 

在這裏插入圖片描述

使用字典dict

在這裏插入圖片描述

如果使用單純的字典數據,那麼一定要記得指定index,否則會報錯。

在這裏插入圖片描述

使用來自Series  dict

得到的索引將是各個Series的索引的並集。如果有任何嵌套的dict,則首先將這些dicts轉換爲Series。如果沒有傳遞列,則列將是dict鍵的有序列表。
在這裏插入圖片描述
如果Series的長度不同,並且具有不同的索引,那麼會是什麼情況呢?

在這裏插入圖片描述
如果兩者部分索引相同呢?
在這裏插入圖片描述
大家可以看到得到的索引將是各個Series的索引的並集,結合上面的例子,想必大家都理解了。

當我們在DataFrame的構造函數中指定列的時候,那麼該值會覆蓋dict的鍵值作爲列的索引名。否則會默認將dict的鍵值作爲列的索引名。

在這裏插入圖片描述
這裏我們重新將列進行命名,在構造DataFrame的時候,在數據d中找不到以’姓名’和’年齡’爲鍵值的數據,所以最後的結果爲空。

做個比較:
在這裏插入圖片描述
那麼如果我們的行索引也是完全不同的呢?
在這裏插入圖片描述
最終的結果好像和我想的不一樣。。。再試一下,追加個Series中的索引名。
在這裏插入圖片描述

額,看樣子得這麼說了:DataFrame構造函數中指定的行列索引優先於dict。

使用dict列表

在這裏插入圖片描述
這個就不多做解釋了,上面的都能看懂,這個自然不在話下了。

使用元組和元組字典

Python 的元組與列表類似,不同之處在於元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

替代構造函數:DataFrame.from_dict

DataFrame.from_dict採用dicts的dict或類似數組序列的dict並返回DataFrame。DataFrame除了默認情況下的orient參數外,它的操作類似於構造函數’columns’,但可以將其設置’index’爲使用dict鍵作爲行標籤。

在這裏插入圖片描述

DataFrame.from_records

DataFrame.from_records獲取元組列表或帶有結構化dtype的ndarray。它類似於普通DataFrame構造函數,但生成的DataFrame索引可能是結構化dtype的特定字段。

在這裏插入圖片描述

在這裏插入圖片描述
這個有點可能有點複雜,關於dtype的的一些東西可以參考下面的鏈接

https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html

在這裏插入圖片描述

獲取,設置和刪除列的工作方式與類似的dict操作相同,這裏就不在做更多的演示。

插入標量值

插入標量值得時候,它會沿着列進行填充
在這裏插入圖片描述

assign()

DataFrame有一種assign() 方法可以讓您輕鬆創建可能從現有列派生的新列,它始終返回數據的副本,保持原始DataFrame不變。

在這裏插入圖片描述

轉置 DataFrane.T

在這裏插入圖片描述

DataFrame列屬性訪問

如果DataFrame列標籤是有效的Python變量名稱,則可以像屬性一樣訪問該列:
注意:僅限於列,用在行會出錯的。
在這裏插入圖片描述

to_string() 將以表格形式返回DataFrame的字符串表示形式

在這裏插入圖片描述

使用info()獲取摘要

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章