将Python pandas DataFrame解析为Matrix Market(MM)格式的方法?

时间:2014-06-27 20:10:30

标签: parsing python-2.7 numpy matrix pandas

是否有内置方法将Python pandas.DataFrame对象(内部存储为2x2 numpy.ndarray)写入Matrix Market (MM) format?我有稀疏矩阵和密集矩阵的用例。

当我说"内置"我的意思是内置于熊猫包中。如果不是熊猫,那么是否可以采用DataFrame或2x2 numpy.ndarray并执行此操作?

1 个答案:

答案 0 :(得分:2)

我非常确定pandas没有内置任何内容,但如果您安装了完整的堆栈,则可以使用scipy

>>> import scipy.io, scipy.sparse
>>> df = pd.DataFrame({"A": [1,2], "B": [3,0]})
>>> scipy.io.mmwrite("mmout", df)
>>> !cat mmout.mtx
%%MatrixMarket matrix array integer general
%
2 2
1
2
3
0

它也适用于稀疏案例:

>>> scipy.io.mmwrite("mmout", scipy.sparse.csr_matrix(df))
>>> !cat mmout.mtx
%%MatrixMarket matrix coordinate integer general
%
2 2 3
1 1 1
1 2 3
2 1 2

虽然您必须构建副本。