Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在嵌套文档中查找到熊猫中的数据框_Python_Python 3.x_Mongodb_Pymongo - Fatal编程技术网

Python 在嵌套文档中查找到熊猫中的数据框

Python 在嵌套文档中查找到熊猫中的数据框,python,python-3.x,mongodb,pymongo,Python,Python 3.x,Mongodb,Pymongo,我收集的文件结构如下: [{ "id_":abc, "username":"John", "data":{ "phone_number":"+123", "address":"street 1" } }, { "id_":def, "username":"Mari

我收集的文件结构如下:

[{
 "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))))

有没有更自然的方法来执行此操作?

如果电话号码是唯一的,您可以使用


如果它们不是唯一的,那么没有更好的方法,您可以使用聚合管道来实现类似的结果,但它不会真正提高性能。

如果电话号码是唯一的,您可以使用

如果它们不是唯一的,那么没有真正更好的方法,您可以使用聚合管道获得类似的结果,但这并不能真正提高性能

numbers = collection.distinct('data.phone_number')
df=pd.DataFrame(numbers, columns = ['phone_number'])