(Python)如何将列中的唯一值与另一列的总和分组
这是我的数据帧的示例:(Python)如何将列中的唯一值与另一列的总和分组,python,pandas,data-analysis,data-science,pandas-groupby,Python,Pandas,Data Analysis,Data Science,Pandas Groupby,这是我的数据帧的示例: company_name country_code state_code software finance commerce etc...... google USA CA 1 0 0 jimmy GBR unknown 0 0 1 我希望能够将一家公司的行业与其州代码进行分组。例如,我想知道一个州的软件公司总数等(
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()
但我不知道如何将每个州的每种行业的数量进行分组
df.groupby(['state_code']).agg({'software' : 'sum', 'finance' : 'sum', ...})
这将根据州代码进行分组,并汇总每个分组中的“软件”、“财务”等的数量
还可以制作透视表:
df.pivot_table(index = 'state_code', columns = ['software', 'finance', ...], aggfunc = 'sum')
如果1和0是每个类别的布尔标志,那么您应该只需要求和
df[df.country_code == 'USA'].groupby('state_code').sum().reset_index()
# state_code commerce finance software
#0 CA 0 0 1
这可能会帮助您:
result_dataframe = dataframe_name.groupby('state_code ').sum()
例如,你想知道加州有多少谷歌?Hi@piyuss.Wanare,谢谢你的回复。不,我想查找每个州的软件公司总数,每个州的财务公司总数等(例如:software,CA,1200)df.iloc[:,2:]groupby(“州代码”).sum()如果您想保留
“未知”
,请删除df.country\u code==“USA”
,但这将确保你只收集美国的州谢谢你的帮助!