因为自己经常使用dataframe,有的函数查找到了之后不使用就忘记了,所以出一篇博客,目的仅供自己查询,所以肯定有遗漏之处。用到哪里写哪里。
上传了一个html,所有代码都在里面。
data = {"one":np.random.randn(4),
"two":np.linspace(1,4,4),
"three":['zhangsan','李四',999,0.1]}
df=pd.DataFrame(data,index=[1,2,3,4])
loc为Selection by Label函数,即为按标签取数据
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
官网groupby文档链接
import pandas as pd
df = pd.DataFrame({'Gender' : ['男', '女', '男', '男', '男', '男', '女', '女', '女'],
'name' : ['周子恒', '关可新', '邓剑锋', '孙健鑫', '周子恒', '孙健鑫', '曾辉', '郭心瑶', '关可新'],
'GPA' : [3.5, 2.9, 3.8, 3.7, 4.0, 3.0, 1.9, 4.0, 3.2],
'score' : [84,75,89,85,99,80,69,100,82]
})
#根据其中一列分组
df_score_mean1 = df.groupby(['Gender']).mean()
#根据其中两列分组
df_score_mean2 = df.groupby(['Gender', 'name']).mean()
#只对其中一列求均值
df_score_mean3 = df.groupby(['Gender', 'name'])['score'].mean()
输出二中有类似合并单元格的,我们不以组标签为索引,通过 as_index 来实现
df_score_mean2_2 = df.groupby(['Gender', 'name'], as_index=False).mean()
参考文章
DataFrame.groupby()所见的各种用法详解