У меня есть следующий кадр данных:панды: суммируя число значений столбцов с GroupBy
url='https://raw.githubusercontent.com/108michael/ms_thesis/master/mpl.Bspons.merge.1'
df=pd.read_csv(url, index_col=0)
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
df = df.set_index(['date'])
df.head(3)
state year unemployment log_diff_unemployment id.thomas party type bills id.fec years_exp session name disposition catcode naics
date
2006-05-01 AK 2006 6.6 -0.044452 1440 Republican sen s2686-109 S2AK00010 39 109 National Cable & Telecommunications Association support C4500 81
2006-05-01 AK 2006 6.6 -0.044452 1440 Republican sen s2686-109 S2AK00010 39 109 National Cable & Telecommunications Association support C4500 517
2007-03-27 AK 2007 6.3 -0.046520 1440 Republican sen s1000-110 S2AK00010 40 110 National Treasury Employees Union support L1100 NaN
Я хочу суммировать количество счетов, которые в каждой группе, определенной catcode > disposition > id.fec
. Я использую следующий код:
df['billsum'] = df.groupby([pd.Grouper(level='date', freq='A'), 'catcode', \
'disposition', 'id.fec']).bills.transform('sum')
который возвращает
df.head(3)
state year unemployment log_diff_unemployment id.thomas party type bills id.fec years_exp session name disposition catcode naics billsum
date
2006-05-01 AK 2006 6.6 -0.044452 1440 Republican sen s2686-109 S2AK00010 39 109 National Cable & Telecommunications Association support C4500 81 s2686-109s2686-109
2006-05-01 AK 2006 6.6 -0.044452 1440 Republican sen s2686-109 S2AK00010 39 109 National Cable & Telecommunications Association support C4500 517 s2686-109s2686-109
2007-03-27 AK 2007 6.3 -0.046520 1440 Republican sen s1000-110 S2AK00010 40 110 National Treasury Employees Union support L1100 NaN s1000-110
Вместо возвращения «число» счетов, содержащихся в каждой группе, код возвращает все счета, содержащиеся в каждой группе. Я просто хочу количество счетов в каждой группе. Кто-нибудь имеет представление о том, как сделать эту работу?
Еще раз спасибо! :) –