我有几个 MongoDB 文档,其中一个字段最好表示为矩阵(numpy 数组).我想将此文档保存到 MongoDB,我该怎么做?
I have a couple of MongoDB documents wherein one my the fields is best represented as a matrix (numpy array). I would like to save this document to MongoDB, how do I do this?
{
'name' : 'subject1',
'image_name' : 'blah/foo.png',
'feature1' : np.array(...)
}
对于一维 numpy 数组,可以使用列表:
For a 1D numpy array, you can use lists:
# serialize 1D array x
record['feature1'] = x.tolist()
# deserialize 1D array x
x = np.fromiter( record['feature1'] )
对于多维数据,我相信你需要使用pickle和pymongo.binary.Binary:
For multidimensional data, I believe you'll need to use pickle and pymongo.binary.Binary:
# serialize 2D array y
record['feature2'] = pymongo.binary.Binary( pickle.dumps( y, protocol=2) ) )
# deserialize 2D array y
y = pickle.loads( record['feature2'] )
这篇关于在mongodb中保存numpy数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
python:不同包下同名的两个模块和类python: Two modules and classes with the same name under different packages(python:不同包下同名的两个模块和类)
配置 Python 以使用站点包的其他位置Configuring Python to use additional locations for site-packages(配置 Python 以使用站点包的其他位置)
如何在不重复导入顶级名称的情况下构造python包How to structure python packages without repeating top level name for import(如何在不重复导入顶级名称的情况下构造python包)
在 OpenShift 上安装 python 包Install python packages on OpenShift(在 OpenShift 上安装 python 包)
如何刷新 sys.path?How to refresh sys.path?(如何刷新 sys.path?)
分发带有已编译动态共享库的 Python 包Distribute a Python package with a compiled dynamic shared library(分发带有已编译动态共享库的 Python 包)