gpt4 book ai didi

python - 如何使用 .corr() Pearson Correlation 获取 DataFrame 中两个选定列之间的相关性

转载 作者:行者123 更新时间:2023-12-01 08:12:35 24 4
gpt4 key购买 nike

我正在使用一个大的 DataFrame。但我正在尝试获取两列之间的相关性。我使用了这段代码:
corr_P=Top15['人均能源供应量'].corr(Top15['人均能源供应量'])

它给了我一个错误:
“sqrt”方法不适用于“float”类型。

这是一个我必须使用“.corr() 方法,( PIL 逊相关性)”的作业。

最佳答案

您可以按照自己的方式指定列。我在同一数据集上尝试了您的代码,没有错误。我很好奇您使用的是什么版本。

此外,我假设您想查看两列(相同列)的相关性。如果我运行它,它会给出 1

的正确输出
import pandas as pd
import numpy as np
import re
def split_it(line):
line = re.split('(\d+)', line)
return line[0]
def get_energy():
energy = pd.read_excel('C:/Energy Indicators.xls', skiprows = 17, skip_footer = 38, parse_cols = range(2, 6), index_col = None, names = ["Country", "Energy Supply", "Energy Supply per Capita", "% Renewable"], na_values='...')
energy['Energy Supply'] = energy['Energy Supply'] * 1000000
energy['Country'] = energy["Country"].apply(split_it)
energy = energy.replace ("Republic of Korea", "South Korea")
energy = energy.replace("United States of America", "United States")
energy = energy.replace('United Kingdom of Great Britain and Northern Ireland' , 'United Kingdom')
energy = energy.replace('China, Hong Kong Special Administrative Region', 'Hong Kong')
energy['Country'] = energy['Country'].apply(lambda x: re.sub(r'\(.*\)', '', x))
# energy.Country = energy.Country.apply(lambda x: x.split(' (')[0])
energy['Country'] = energy['Country'].map(lambda x: x.strip())
return energy
Top15 = get_energy()


corr_P = Top15['Energy Supply per Capita'].corr(Top15['Energy Supply per Capita'])

输出:

print (corr_P)
1.0

关于python - 如何使用 .corr() Pearson Correlation 获取 DataFrame 中两个选定列之间的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com