这是我的数据框架的示例:
company_name country_code state_code software finance commerce etc......
google USA CA 1 0 0
jimmy GBR unknown 0 0 1
我希望能够将公司的行业与其州代码分组。例如,我想拥有一个州等软件公司的总数(例如,加州的200家软件公司,纽约的100家金融公司)。
我目前只计算每个州的公司总数:
usa_df['state_code'].value_counts()
但我无法弄清楚如何对每个州的每种行业的数量进行分组。
答案 0 :(得分:1)
df.groupby(['state_code']).agg({'software' : 'sum', 'finance' : 'sum', ...})
这将按state_code分组,并总结每个分组中“软件”,“财务”等的数量。
也可以做一个pivot_table:
df.pivot_table(index = 'state_code', columns = ['software', 'finance', ...], aggfunc = 'sum')
答案 1 :(得分:1)
如果1s和0s是每个类别的布尔标志,那么你应该只需要求和。
df[df.country_code == 'USA'].groupby('state_code').sum().reset_index()
# state_code commerce finance software
#0 CA 0 0 1
答案 2 :(得分:0)
这可能会对您有所帮助:
result_dataframe = dataframe_name.groupby('state_code ').sum()