我有一个MongoDB集合,通过PyMongo导入Python后,它在Python中是一个字典。 我希望将其转换为Numpy数组。
例如,如果JSON文件如下所示:
{
"_id" : ObjectId("57065024c3d1132426c4dd53"),
"B" : {
"BA" : 14,
"BB" : 23,
"BC" : 32,
"BD" : 41
"A" : 50,
}
{
"_id" : ObjectId("57065024c3d1132426c4dd53"),
"A" : 1
"B" : {
"BA" : 1,
"BB" : 2,
"BC" : 3,
"BD" : 4
我希望得到这个 5*2 的 Numpy 数组: np.array([[50,14,23,32,41], [1,1,2,3,4]]) 在这种情况下,第一列对应“A”,第二列对应“BA”,第三列对应“BB”,以此类推。 请注意,键名不总是以相同的顺序排序。
我的代码还没有达到预期效果(完全无法工作),它看起来像这样:
from pymongo import MongoClient
uri = "mongodb://localhost/test"
client = MongoClient(uri)
db=client.recodb
collection=db.recos
list1=list(collection.find())
array2=np.vstack([[product[key] for key in product.keys()] for product in list1])
"ObjectId(\"57065024c3d1132426c4dd53\")"
。 - PM 2Ring