DataFrame是一個二維的有標簽的數據結構,可以擁有不同類型的列。DataFrame可以被看作一張SQL表格鸳惯,或者Series的字典商蕴。
與Series相似叠萍,DataFrame可以接受不同種類的輸入:
? ? · 一維數組、dict绪商、list或者Series的dcit
? ? · 二維的numpy.ndarray
? ? · 結構化的數組
? ? · Series
? ? · 另一個DataFrame
在輸入數據的同時苛谷,也可以選擇性地輸入行和列的標簽作為參數。
如果軸坐標沒有被輸入格郁,則會根據公共規(guī)則被自動創(chuàng)建腹殿。
根據dict或者Series的字典創(chuàng)建DataFrame:
行和列可以通過index和column屬性進行訪問:
通過ndarrays / lists的字典創(chuàng)建DataFrame:
所有數組的大小必須相同;如果輸入了索引例书,索引數量必須和數組數量相同锣尉。如果沒輸入索引,則會自動生成range(n)的索引决采。
通過結構化或者記錄數組創(chuàng)建DataFrame:
通過存儲dict的list創(chuàng)建DataFrame:
DataFrame.from_dict:
DataFrame.from_dict可以接收dict的字典或者類似數組的數列字典來構建DataFrame自沧。可以通過輸入orient='index'树瞭,來將dict中的key當做行坐標拇厢。
DataFrame.from_records:
通過from_records創(chuàng)建的DataFrame可以使用特殊數據類型的index
列的查找、增加和刪除:
對于DataFrame的列的操作與對dict中的元素操作相似:
如果寫入了一個標量孝偎,則會自動用此值補全整行;如果寫入了一個Series凉敲,但其長度與DataFrame不同衣盾,則系統會自動調整Series的長度并將其裝入DataFrame中。
通過dataframe.insert()函數可以在指定位置插入一列爷抓。例如势决,如下命令可在第二列插入一列數據,行名為‘’bar‘’废赞,數據為df['one']:
使用assign()函數可以輕松地根據已有的行建立新的行徽龟,并且assign()函數只返回數據的副本,而不會影響原數據:
行的查找:
根據標簽查找行:df.loc[label]? ? ? ? 返回結果:Series
根據行的位置查找行:df.iloc[int]? ? ? ? ? ?返回結果:Series
行切片: df[5:10]? ? ? ? ? 返回結果:DataFrame
根據判斷條件選擇行:df[bool_vec]? ? ? ? ? ?返回結果:DataFrame
通過索引查找特定位置的數據:
df.at[index,column]
或 df.col[index,column]
通過行列數字查找特定位置的數據:
df.icol[row,col]
轉置:
利用DataFrame的T屬性可以進行轉置操作:
矩陣乘法:
利用dot方法進行矩陣間的乘運算:df1.dot(df2)
元素展示:
通過df.info()方法唉地,可以查看所有列的信息
pd.set_option('display.width',arg)? 可以設置數據展示寬度据悔,默認值是80
pd.set_option('display.max_colwidth',arg) 可以設置行的展示寬度传透,不足部分用...替代
reindex:
reindex方法允許你在特定的軸上對索引進行增刪改,并將結果作為副本返回:
reset_index:
reset_index方法可以將當前的index作為dataframe的一列极颓,并重新創(chuàng)建一個index: