Добавление столбца в .csv с помощью Python / Pandas - PullRequest
0 голосов
/ 03 ноября 2018

Intro 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'

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете объединить количество партий в исходном кадре данных:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...