Python简介问题:我正在开发一个程序,该程序计算美国国会每届会议每个政党中政客的人数。我从具有个人资料的.csv开始,希望将我的政党成员人数导出为新的.csv。这就是我正在做的:
import pandas as pd
read = pd.read_csv('30.csv', delimiter = ';', names = ['Name', 'Years', 'Position', 'Party', 'State', 'Congress'])
party_count = read.groupby('Party').size()
with open('parties.csv', 'a') as f:
party_count.to_csv(f, header=False)
这会将我的.csv更新如下:
'Year','Party','Count'
'American Party',1
'Democrat',162
'Independent Democrat',3
'Party',1
'Whig',145
接下来,我需要在第一列(“年份”)下添加日期。这包含在我的第一个.csv的“会议”列中。要完成这项工作,我需要在最后一行代码中添加什么?
这是我从中提取的原始.csv文件的摘要:
'Name';'Years';'Position';'Party';'State';'Congress'
'ABBOTT, Amos';'1786-1868';'Representative';'Whig';'MA';'1847'
'ADAMS, Green';'1812-1884';'Representative';'Whig';'KY';'1847'
'ADAMS, John Quincy';'1767-1848';'Representative';'Whig';'MA';'1847'
答案 0 :(得分:1)
您可以通过以下方式将“派对”的计数合并回原始数据框中:
party_count = df.groupby('Party').size().reset_index(name='Count')
df = df.merge(party_count, on='Party', how='left')
现在您有了参与方的数量,就可以选择数据了。例如:如果您需要[国会,聚会,计数],则可以使用:
out_df = df[['Congress ', 'Party', 'Count']].drop_duplicates()
out_df.columns = ['Year', 'Party', 'Count']
在这里,out_df是可以写入my.csv文件的数据框。
out_df.to_csv('my.csv', index=False)