Python从具有太多列的数据帧中散布矩阵



我是python和数据科学的新手,目前我正在进行一个基于75列超大数据帧的项目。我正在进行一些数据探索,我想检查列之间可能的相关性。对于较小的数据帧,我知道我可以在数据帧上使用pandas-pring.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。这看起来效率很低。我想知道是否有更好的方法来探索我的数据集中的相关性。

这里的问题是对技术部分的扩展较小。这些地块(编号5625(的生产将需要相当长的时间。此外,这些绘图还需要一些内存。

因此,我想问几个问题来解决这些问题:

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

如果绘图真的很有用,你可以自己制作并粘贴在一起,或者等到函数准备好。

最新更新