Pandas常用函数大合集,哪里不会点哪里!
来源:机器之心
pandas 最基本的功能
读取数据
data = pd.read_csv( my_file.csv )data = pd.read_csv( my_file.csv , sep= ; , encoding= latin-1 , nrows=1000, skiprows=[2,5])
最常用的功能:read_csv, read_excel 其他一些很棒的功能:read_clipboard, read_sql
写数据
data.to_csv( my_new_file.csv , index=None)
检查数据
Gives (#rows, #columns)
给出行数和列数。
data.describe()
计算基本的统计数据。
查看数据
data.head(3)
data.loc[8]
data.loc[8, column_1 ]
data.loc[range(4,6)]
pandas 的基本函数
逻辑运算
data[data[ column_1 ]== french ]data[(data[ column_1 ]== french ) & (data[ year_born ]==1990)]data[(data[ column_1 ]== french ) & (data[ year_born ]==1990) & ~(data[ city ]== London )]
通过逻辑运算来取数据子集。要使用 & (AND)、 ~ (NOT) 和 | (OR),必须在
逻辑运算前后加上“(”和“)”。
data[data[ column_1 ].isin([ french , english ])]
data[ column_numerical ].plot()
data[ column_numerical ].hist()
画出数据分布(直方图)
%matplotlib inline
更新数据
data.loc[8, column_1 ] = english
将第八行名为 column_1 的列替换为「english」
data.loc[data[ column_1 ]== french , column_1 ] = French
中级函数
data[ column_1 ].value_counts()
在所有的行、列或者全数据上进行操作
data[ column_1 ].map(len)
data[ column_1 ].map(len).map(lambda x: x/100).plot()
data.apply(sum)
tqdm, 唯一的
from tqdm import tqdm_notebooktqdm_notebook().pandas()
data[ column_1 ].progress_map(lambda x: x.count( e ))
相关性和散射矩阵
data.corr()
data.corr().applymap(lambda x: int(x*100)/100)
pd.plotting.scatter_matrix(data, figsize=(12,8))
pandas 中的高级操作
关联
data.merge(other_data, on=[ column_1 , column_2 , column_3 ])
分组
data.groupby( column_1 )[ column_2 ].apply(sum).reset_index()
行迭代
dictionary = {}
for i,row in data.iterrows(): dictionary[row[ column_1 ]] = row[ column_2 ]
易用,将所有复杂、抽象的计算都隐藏在背后了; 直观; 快速,即使不是最快的也是非常快的。
原文链接:
https://towardsdatascience.com/be-a-more-efficient-data-scientist-today-master-pandas-with-this-guide-ea362d27386
编辑:文婧 校对:龚力
赞 (0)