是否有内置方法将Python pandas.DataFrame对象(内部存储为2x2 numpy.ndarray)写入Matrix Market (MM) format?我有稀疏矩阵和密集矩阵的用例。
当我说"内置"我的意思是内置于熊猫包中。如果不是熊猫,那么是否可以采用DataFrame或2x2 numpy.ndarray并执行此操作?
答案 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
虽然您必须构建副本。