簡體   English   中英

使用Python / Pandas在.csv中附加一列

[英]Appending a column in .csv with Python/Pandas

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'

您可以通過以下方式將Party的計數合並回原始數據框:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM