pandas - 如何从 pandas 数据帧创建稀疏矩阵?

标签 pandas machine-learning sparse-matrix

假设我的数据框中有稀疏数据。如何从中创建稀疏矩阵以及在哪些模型中可以使用它进行预测?

最佳答案

考虑数据帧df

df = pd.DataFrame(np.zeros((10, 10)))
df.iloc[5, 5] = 1

df

     0    1    2    3    4    5    6    7    8    9
0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
1  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
2  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
3  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
4  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
5  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0
6  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
7  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
8  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
9  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0

Memmory Usage: 880

您可以使用to_sparse(0)使其稀疏。
第一个参数是假设为填充值的值。

d1 = df.to_sparse(0)

d1

     0    1    2    3    4    5    6    7    8    9
0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
1  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
2  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
3  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
4  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
5  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0
6  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
7  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
8  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
9  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0

Memmory Usage: 88

内存占用量是其大小的十分之一。

关于pandas - 如何从 pandas 数据帧创建稀疏矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41755631/

相关文章:

python - 对 Pandas 数据框进行子集化的最佳方法

image-processing - Tensorflow 对象检测 API - 重新训练以使用来自不同色彩空间的图像?

azure - Microsoft Azure 机器学习的原名是什么?

c++ - 稀疏矩阵

Python 空 csr_matrix 抛出 ValueError : cannot infer dimensions from zero sized index arrays

python - 评估Python中字串的辅音/元音组成

python - 如何迭代 pandas 数据帧的每一行,然后有条件地在该行中设置新值?

python - 在 pandas 中读取时间值(时、分、秒、日、月、年)时,如何指定先到先得?

machine-learning - 训练神经网络时的 Epoch 与 Iteration

pandas - 使用 svd 求解欠定 scipy.sparse 矩阵