我有一个文档集合,结构如下:
[{
"id_":abc,
"username":"John",
"data":{
"phone_number":"+123",
"address":"street 1"
}
},
{
"id_":def,
"username":"Marie",
"data":{
"phone_number":"+456",
"address":"street 2"
}
}]我想要得到熊猫数据框中的所有电话号码。目前,我正在做以下工作:
resp=collection.find({},{'data.phone_number':1,'_id':0})
df=pd.DataFrame(list(map(lambda x: x['data'],list(resp))))有没有一种更自然的方式来实现这一点?
发布于 2020-10-01 19:07:19
如果电话号码是唯一的,则可以使用distinct
numbers = collection.distinct('data.phone_number')
df=pd.DataFrame(numbers, columns = ['phone_number'])如果它们不是唯一的,就没有真正更好的方法,您可以使用聚合管道获得类似的结果,但它不会真正提高性能。
https://stackoverflow.com/questions/64153625
复制相似问题