Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Python)如何将列中的唯一值与另一列的总和分组_Python_Pandas_Data Analysis_Data Science_Pandas Groupby - Fatal编程技术网

(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”
,但这将确保你只收集美国的州谢谢你的帮助!