pandas 10分钟教程(二)
重点发法
-
分组 groupby('列名') groupby(['列名1','列名2',.........])
-
分组的步骤
-
(Splitting) 按照一些规则将数据分为不同的组,拆分
-
(Applying) 对于每组数据分别执行一个函数.'应用,申请'
-
(Combining) 将结果组合到一个数据结构, '组合/合并'
import pandas as pd
#根据A分组后求和
df.groupby('A').sum()
#分组,指定具体列的出来函数 #reset_index 重置索引
df.group(by=['列1','列2',....]).agg({'列名':['max','min']}).reset_index()
#agg/apply:指定具体的处理函数,,,可以 写自定义函数
分组后的统计方法
-
size() = count()
-
max(),min(),mean() 最大最小,平均数
-
std()
-
median() 中位数
-
frist() ,last() 第一个和最后一个非NA值
-
prod 非NA值得积
以上统计函数,除了count()外,都会自动过滤非数字列!!!!
-
排重:duplicated
-
检查重复的数据:df.duplicated()
-
检查重复指定列名:df.duplicated(['列1','列2',....])
-
删除重复数据:df.drop_duolicates()
-
删除时指定保留的数据: df.drop_duplicates(['列1',.......],keep='frist/last')
-
keep:保存
-
frist:第一个,last:最后一个
-
-
-
数据透视表(和groupby()类似)
-
df.pibot_table(df,index=['列1','列2',...],values='列名',aggfunc=np.mean/sum)
-
index : 需要排序的列
-
values : 需要统计的列
-
aggfunc : 执行的统计函数,不写默认统计平均值
-
-
-
分组替换: Categories 分组/分类,
-
实现第二列分组比替换数据:
-
df['新列名'] = df['B'].astype('category');转化为分类/分组类型
-
分配列名: df['新列名'].cat.set_categories((值1,值2,.......))
-
重新设置: df['新列名'] = df['新列名'].cat_set_categories([值一,值二,...])
-
-
-
读写文件
-
HDF5: 存储打数据,方便和其他语言对接,
-
to_hdf()
-
read_hdf()
-
-
表格:excel
-
read_excel('path',sheet_name='子页名')
-
to_excel(path)
-
-