是否存在与 Python Pandas 相同的 Python Datatable 的等效 corr() 函数 - 以查找 Frame 列的相关矩阵?谢谢
问问题
91 次
1 回答
0
一种选择是使用以下功能:
def frame_corr(dt_frame):
numcols = [col for col in dt_frame if col.type.is_numeric]
result = dt.rbind([dt_frame[:, [dt.corr(col1, col2) for col2 in numcols]] for col1 in numcols])
result.names = dt_frame[:,numcols].names
return result
输入数据
data = dt.Frame(x = np.random.normal(size=10),
y = np.random.normal(size=10),
z = np.random.normal(size=10)
)
输出
frame_corr(data)
| x y z
| float64 float64 float64
-- + --------- --------- ---------
0 | 1 -0.880012 0.26132
1 | -0.880012 1 -0.440515
2 | 0.26132 -0.440515 1
[3 rows x 3 columns]
data.to_pandas().corr()
x y z
x 1.000000 -0.880012 0.261320
y -0.880012 1.000000 -0.440515
z 0.261320 -0.440515 1.000000
注意:is_numeric
在 1.1.0 版本中可用
于 2021-11-28T17:24:08.307 回答