我是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(的生产将需要相当长的时间。此外,这些绘图还需要一些内存。
因此,我想问几个问题来解决这些问题:
- 真的有必要拥有所有这些散点图吗
- 我可以提前缩小尺寸吗
- 为什么我有这么多维度
如果绘图真的很有用,你可以自己制作并粘贴在一起,或者等到函数准备好。