我试图获得单个列与资料框的其余数字列之间的相关性,但我被卡住了。
我正在尝试这样做:
corr = IM['imdb_score'].corr(IM)
但我得到了错误
我认为这是因为我试图找到矢量(我的imdb_score列)与几列的资料框之间的相关性。
如何解决这个问题?
uj5u.com热心网友回复:
我认为您可以只使用.corr它回传所有列之间的所有相关性,然后仅选择您感兴趣的列。
所以,像
IM.corr()['imbd_score']
应该管用。
uj5u.com热心网友回复:
它使用的最有效方法corrwith。
例子:
df.corrwith(df['A'])
示例资料的设定:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(10, size=(5, 5)), columns=list('ABCDE'))
#    A  B  C  D  E
# 0  7  2  0  0  0
# 1  4  4  1  7  2
# 2  6  2  0  6  6
# 3  9  8  0  2  1
# 4  6  0  9  7  7
输出:
A    1.000000
B    0.526317
C   -0.209734
D   -0.720400
E   -0.326986
dtype: float64
uj5u.com热心网友回复:
与计算所有相关性并保留感兴趣的相关性不同,计算感兴趣相关性的子集在计算上可能更有效:
import pandas as pd
df = pd.DataFrame()
df['a'] = range(10)
df['b'] = range(10)
df['c'] = range(10)
pd.DataFrame([[c, df['a'].corr(df[c])] for c in df.columns if c!='a'], columns=['var', 'corr'])

 
							 
										
										 
										
										 
										
										
										 
										
										 
										
										 
										
										
0 评论