Pandas庫初步學習筆記【Ⅰ】
阿新 • • 發佈:2018-12-09
Pandas庫初步學習筆記
DataFrame中橫行叫index,豎行叫columns。
class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)[source]
pandas以類似字典的方式來獲取某一列的值,比如df[‘A’],這會得到df的A列,其中’A’相當於key。如果我們對某一行感興趣呢?這個時候有兩種方法,一種是loc方法,另一種方法是iloc方法。loc是指location的意思,iloc中的i是指integer。前者按照索引即index選取,後者按照位置進行選取,二三行程式碼返回結果相同。
s = pd.Series(np.array(['I','Love','Data']),index=list('ABC')) s.iloc[0] # 按照位置選取 s.loc['A']# 按照索引選取 s.iloc[0,0] # 選取第一行的第一個元素
一些常用的操作
df.dropna() # 移除資料框 DataFrame 中包含空值的行 df.dropna(axis=1) # 移除資料框 DataFrame 中包含空值的列 df.fillna(x) # 將資料框 DataFrame 中的所有空值替換為 x s.replace(1,'one') # 將陣列(Series)中的所有1替換為'one'
在進行排序時,只能根據某一行或者某一列大小關係為基準進行排序,如果有多行或多列,則表示優先順序。
df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE')) df.sort_values(['A','E'],ascending=[True,False])#按照A列的升序進行排列
利用groupby對資料進行分組操作,返回值是DataFrameGroupBy型別,只有在呼叫的時候才會進行計算,不能用values展示
apply函式用來利用各種函式對資料框進行各種操作。
df = pd.DataFrame(np.random.rand(10,5),columns=list('ABCDE')) df.apply(np.mean)#對各列進行求平均操作 df.apply(np.max,axis=1) # 對資料框df的每一行求最大值
資料的連線(join)和組合(combine),預設是加入行,可以通過控制index和axis來控制連線的模式,預設的值為NaN。
df1.append(df2)#在資料框df2的末尾新增資料框df1,其中df1和df2的列數應該相等 pd.concat([df1, df2],axis=1) # 在資料框df1的列最後新增資料框df2,其中df1和df2的行數應該相等
通過apply函式利用numpy的函式可以對dataframe進行陣列相關的操作。有些操作dataframe也自帶。
df.apply(np.mean) # 對資料框df的每一列求平均值 df.mean() # 得到資料框df中每一列的平均值