0

我是 python 和数据科学的新手,我目前正在从事一个基于非常大的数据框的项目,有 75 列。我正在做一些数据探索,我想检查列之间可能存在的相关性。对于较小的数据帧,我知道我可以在数据帧上使用 pandas plotting.scatter_matrix() 来做到这一点。但是,在我的情况下,这会产生一个 75x75 矩阵——我什至无法可视化各个图。

另一种方法是创建 5 列的列表并多次使用 scatter_matrix,但这种方法会产生过多的散布矩阵。例如,有 15 列,这将是:


import pandas as pd

df = pd.read_csv('dataset.csv')

list1 = [df.iloc[:, i] for i in range(5)]
list2 = [df.iloc[:, i+5] for i in range(5)]
list3 = [df.iloc[:, i+10] for i in range(5)]

pd.plotting.scatter_matrix(df_acoes[list1])
pd.plotting.scatter_matrix(df_acoes[list2])
pd.plotting.scatter_matrix(df_acoes[list3])

为了在 75 列中使用相同的方法,我必须继续直到list15. 这看起来非常低效。我想知道是否有更好的方法来探索我的数据集中的相关性。

4

1 回答 1

0

这里的问题是在较小程度上扩展了技术部分。地块的生产(编号 5625)将需要相当长的时间。此外,这些图会占用一些内存。

所以我会问几个问题来解决这些问题:

  • 真的有必要拥有所有这些散点图吗?
  • 可以提前降维吗?
  • 为什么我有这么多的维度?

如果这些图真的有用,您可以自己制作它们并将它们粘在一起,或者等到功能准备好。

于 2020-08-10T07:24:56.997 回答