Pandas中常用的方法
阿新 • • 發佈:2019-02-16
1、pandas.Series
為資料分配索引,例如:
data=np.random.randn(5)
pd.Series(data, index=['a', 'b', 'c', 'd', 'e'])
>>>
a -0.287461
b 0.736157
c 1.759875
d -0.238167
e 0.621458
dtype: float64
pd.Series(np.random.randn(5))
>>>
0 -0.334205
1 -1.033102
2 -0.349577
3 -1.459086
4 0.148646
dtype: float64
2、pandas.concat : 將多個DataFrame融合
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']},
index=[0, 1, 2, 3])
df2 = pd.DataFrame({'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 1, 2, 3])
s=pd.concat([df1,df2], axis=1 ) # 1是在X軸方向合併,0是在Y軸方向合併
3、刪除某一列:drop
df.drop([‘column’],axis=1) # 臨時刪除
df.drop([‘column’],axis=1,inplace=True) <—–> df = df.drop([‘column’],axis=1)
4、型別轉換:astype
df[‘column’]=df[‘column’].astype(‘int’)
df[‘column’]=df.column.astype(int)
5、填充空值:fillna
df[‘column’].fillna(value=0, inplace=True)
6、將某一列指定的值替換
df[‘column’][df[‘column’]==value1]=value2
7、兩表連線查詢
類似於將SQL語句:SELECT df1.ID FROM df1, df2 WHERE df1.ID=df2.ID
轉換成pandas語句
df1[df1['ID']==df2['ID']]
這個辦法表df1, df2必須有相同的index
否則會出現
ValueError: Can only compare identically-labeled Series objects
錯誤
8、選擇指定資料型別的列
col_dates = df.dtypes[df.dtypes == 'datetime64[ns]'].index
for d in col_dates:
df[d] = df[d].dt.to_period('M')
9、某列的眾數:df.emp_length.median()
df['emp_length'] = df['emp_length'].fillna(df.emp_length.median())