在 Excel 或 Jupyter 中对范围内的相关矩阵进行排序

Sorting out the Correlation Matrix in range in Excel or in Jupyter

我有一个大数据集,我已使用此代码导出:

(corr.style.background_gradient(cmap='coolwarm').to_excel("S:.......ABC.xlsx", engine="openpyxl"))

我如何拥有介于 1 到 -1 之间的大量数据,而我只想要范围介于 0.3 到 0.933 和 -0.3 到 -0.933 之间的数据。

我该怎么做?

数据示例:

您可以先找到要保留的列,所有值都在这样的范围内

columns_to_keep1 = [col for col in corr.columns if not (any(corr[col] < 0.3) or any(corr[col] > 0.933))]
columns_to_keep2 = [col for col in corr.columns if not (any(corr[col] > -0.3) or any(corr[col] < -0.933))]

上面的代码片段将检查数据框中的所有列,并仅将所有值都在所需范围内的列添加到最终列表(通过列表理解)。

然后您可以 select 只有数据框中的 columns_to_keep 列,就像这样

corr = corr[columns_to_keep1 + columns_to_keep2]