我正在尝试像how can I calculate correlation between all possible rows
那样计算相关系数我的代码 将熊猫作为pd导入
d = {'Name': ['A', 'B','C'], 'v1': [1,3, 4], 'v2': [3,2, 4], 'v3': [3,9 ,1]}
df = pd.DataFrame(data=d)
result = df.T.corr().unstack().reset_index(name="corr")
但它显示错误IndexError:列表索引超出范围。
谢谢您的协助
答案 0 :(得分:1)
corr()
之后,您需要重命名X轴reset_index()
之后重命名您的列d = {'Name': ['A', 'B','C'], 'v1': [1,3, 4], 'v2': [3,2, 4], 'v3': [3,9 ,1]}
df = pd.DataFrame(data=d).set_index("Name")
result = df.T.corr()
result.columns.set_names("NameX", inplace=True)
result = result.unstack().to_frame().reset_index().rename(columns={"Name":"NameY",0:"corr"})
输出
NameX NameY corr
A A 1.000000
A B 0.381246
A C -0.500000
B A 0.381246
B B 1.000000
B C -0.991241
C A -0.500000
C B -0.991241
C C 1.000000