用Python/Pandas在.csv中追加列

2024-09-30 04:29:24 发布

您现在位置: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)

将my.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'

Tags: csvnamereadpartyascountpositionpd
1条回答
网友
1楼 · 发布于 2024-09-30 04:29:24

您可以通过以下方式将参与方计数合并回原始数据帧:

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\u df是您可以写入的数据帧我的.csv文件。你知道吗

out_df.to_csv('my.csv', index=False)

相关问题 更多 >

    热门问题