我有4栏“国家,年份,GDP,CO2排放量”

我想衡量每个国家的GDP和CO2排放之间的皮尔逊相关性。

“国家/地区”列包含世界上所有国家/地区,年份中的值是“ 1990、1991,...,2018”。

python - 在Python中计算Pearson相关性-LMLPHP

最佳答案

您应该使用与groupby分组的corr()作为汇总函数:

country = ['India','India','India','India','India','China','China','China','China','China']
Year = [2018,2017,2016,2015,2014,2018,2017,2016,2015,2014]
GDP = [100,98,94,64,66,200,189,165,134,130]
CO2 = [94,96,90,76,64,180,172,150,121,117]
df = pd.DataFrame({'country':country,'Year':Year,'GDP':GDP,'CO2':CO2})
print(df.groupby('country')[['GDP','CO2']].corr()


如果我们稍微处理一下这个输出,我们可以去做些更奇特的事情:

df_corr = (df.groupby('country')['GDP','CO2'].corr()).drop(columns='GDP').drop('CO2',level=1).rename(columns={'CO2':'Correlation'})
df_corr = df_corr.reset_index().drop(columns='level_1').set_index('country',drop=True)
print(df_corr)


输出:

         Correlation
country
China       0.999581
India       0.932202

关于python - 在Python中计算Pearson相关性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60116042/

10-12 02:37