我试图可视化包含0s 和1s 列的数据帧的稀疏性(总共是 s 的 90% 和0s 的 10% 1)。
到目前为止,我已经尝试了以下方法:
sparse_df = df[binary_feat_cols].astype(pd.SparseDtype("int", 0))
sparse_df.sparse.density
plt.figure(figsize=(10, 6))
plt.spy(sparse_df, markersize=1);
和
sparse_matrix = scipy.sparse.csr_matrix(df[binary_feat_cols].to_numpy())
plt.figure(figsize=(10, 6))
plt.spy(sparse_matrix, markersize=1);
在这两种情况下,我都知道图像显示。任何想法我做错了什么?
编辑:我刚刚意识到它与矩阵的形状有关,因为我已经尝试过这个例子:
x = np.random.randn(910, 51)
x[15, :] = 0.
x[:, 40] = 0.
plt.figure(figsize=(10, 6))
plt.spy(x, markersize = 5)
那么,问题应该是数据框有大约 900K 行和 50 列,并且无法绘制?

