Pandas groupby并将某些列保存到CSV [重复]
Posted
技术标签:
【中文标题】Pandas groupby并将某些列保存到CSV [重复]【英文标题】:Panads groupby and save certain columns to CSV [duplicate] 【发布时间】:2018-09-14 08:13:43 【问题描述】:我正在读取包含 Employer、City、State、Zipcode 和 Jobtitle 列的 CSV。
要求是按 Employer + City 分组,统计结果并将四列(Employer、City、Zipcode 和 Count)写入 CSV。
这是我到目前为止所做的,
data = pd.read_csv("jobs.csv")
data.groupby(["Employer", "City"]).count()
这给了我:
Employer City State Zipcode Jobtitle
Emp1 Cincinnati 1 1 1
Emp2 Delaware 14 0 14
Emp3 Akron 1 0 1
我想要的是:
Employer City Zipcode Jobcount
Emp1 Cincinnati 12345 1
Emp2 Delaware 22112 14
Emp3 Akron 34567 1
Jobcount 显示 Employer + City 组合的工作数量。
【问题讨论】:
12345 是邮政编码。 您是否希望每个城市/雇主有 1 个邮政编码? 看起来你需要data.groupby(['Employer', 'City', 'Zipcode'])['Jobcount'].count()
.. 如副本中所述。
这不是一个重复的问题。 data.groupby(['Employer', 'City', 'Zipcode'])['Jobcount'].count() 给出错误 KeyError: 'Column not found: Jobcount'
因为你的df中的列是Jobtitle
【参考方案1】:
如果您希望每个员工/城市有 1 个邮政编码,您可以这样做:
data.groupby(['Employer', 'City', 'Zipcode']).agg('Jobtitle': 'size')
data.columns = ['Employer', 'City', 'Zipcode', 'Jobcount']
【讨论】:
这对我有用,只需稍作修改。谢谢。以上是关于Pandas groupby并将某些列保存到CSV [重复]的主要内容,如果未能解决你的问题,请参考以下文章
pandas - 如何仅将 DataFrame 的选定列保存到 HDF5