Python中的Groupby()

2024-10-17 08:35:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含以下列的数据集:

Country, Year, Population, Suicide case, Country GDP

问题:我想为每个国家计算(自杀案例/人口)*100

我的方法:

import pandas as pd
fileName = pd.read_csv("File Path")
pd.groupby("Country")

我应该如何为上面的计算扩展代码?你知道吗


Tags: 数据方法importpandasas国家yearcountry
3条回答

这里有一个例子。也许会更好,但这应该对你有用。你知道吗

import pandas as pd
df = pd.DataFrame({"Country":["France", "UK", "France", "UK"], 
                   "Population":[1, 2, 3, 4],
                   "Suicide case":[5, 3, 6, 2]})
df_grouped = df.groupby("Country").sum()
(df_grouped["Suicide case"]/df_grouped["Population"])*100

还有一个更简洁的方法是:

df.groupby('Country').apply(lambda x: x['Suicide case'].sum()/
                               float(x['Population'].sum())*100)

如果我正确理解了您的问题,那么您可以尝试以下代码以获得所需的结果:

fileName = fileName.groupby(['Year','Country']).sum()
fileName['New_var'] = (fileName['Suicide case']/ fileName['Population'])*100

你还需要在组中输入年份,否则年份也会得到聚合。你知道吗

相关问题 更多 >