请注意,您的数据有误,所有3个均属于特殊col,因此无法计算相关性。
如果最后删除列选择,您将获得正在分析的所有其他列的相关矩阵。最后的[:-1]是删除’special_col’与自身的相关性。
In [15]: data[data.columns[1:]].corr()['special_col'][:-1]Out[15]: stem1 0.500000stem2 -0.500000stem3 -0.999945b1 0.500000b2 0.500000b3 -0.500000Name: special_col, dtype: float64
如果您对速度感兴趣,那么这在我的机器上会更快一些:
In [33]: np.corrcoef(data[data.columns[1:]].T)[-1][:-1]Out[33]: array([ 0.5 , -0.5 , -0.99994535, 0.5 , 0.5 , -0.5 ])In [34]: %timeit np.corrcoef(data[data.columns[1:]].T)[-1][:-1]1000 loops, best of 3: 437 µs per loopIn [35]: %timeit data[data.columns[1:]].corr()['special_col']1000 loops, best of 3: 526 µs per loop
但是很明显,它返回一个数组,而不是pandas series / DF。



