题解 | #运动会各项目报名透视表#

运动会各项目报名透视表

https://www.nowcoder.com/practice/dc8ea5c6572243d1a38c907d115cfb47

import pandas as pd 
df1 = pd.read_csv('items.csv')
df2 = pd.read_csv('signup.csv')
df3 = pd.merge(df1,df2,how='inner',on='item_id')
pivot_tb = df3.pivot_table(values=['employee_id'],index=['sex','department'],columns='item_name',aggfunc='count',fill_value=0)
print(pivot_tb)
  • data:待操作的 DataFrame
  • values:被聚合操作的列,可选项
  • index:行分组键,作为结果 DataFrame 的行索引
  • columns:列分组键,作为结果 DataFrame 的列索引
  • aggfunc:聚合函数/函数列表,默认 numpy.mean 这里要注意如果 aggfunc 中存在函数列表,则返回的 DataFrame 中会显示函数名称
  • fill_value:默认 None,可设定缺省值
  • dropna:默认 True,如果列的所有值都是 NaN,将被删除;False 则保留
  • margins:默认 False,设置为 True 可以添加行/列的总计
  • margins_name:默认显示 'ALL',当 margins = True 时,可以设定 margins 行/列的名称

values=['employee_id']和values='employee_id'的区别:values=['employee_id'] 表示要对'employee_id'这一列进行聚合。由于它是一个列表(尽管只有一个元素),这意味着pivot_table函数会期望df3中有多列与'employee_id'`相对应,并尝试对所有这些列进行聚合。values='employee_id',则明确指定了只对'employee_id'`这一列进行聚合,不会显示'employee_id'。

全部评论

相关推荐

jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务