在嵌套文档中查找 Pandas 中的数据框
Find in nested document to dataframe in Pandas
我有一个结构如下的文件集合:
[{
"id_":abc,
"username":"John",
"data":{
"phone_number":"+123",
"address":"street 1"
}
},
{
"id_":def,
"username":"Marie",
"data":{
"phone_number":"+456",
"address":"street 2"
}
}]
我想获取 pandas 数据框中的所有 phone 数字。目前,我正在做以下事情:
resp=collection.find({},{'data.phone_number':1,'_id':0})
df=pd.DataFrame(list(map(lambda x: x['data'],list(resp))))
有没有更自然的方式来执行此操作?
如果 phone 个数字是唯一的,您可以使用 distinct
numbers = collection.distinct('data.phone_number')
df=pd.DataFrame(numbers, columns = ['phone_number'])
如果它们不是唯一的,则没有真正更好的方法,您可以使用聚合管道实现类似的结果,但它不会真正提高性能。
我有一个结构如下的文件集合:
[{
"id_":abc,
"username":"John",
"data":{
"phone_number":"+123",
"address":"street 1"
}
},
{
"id_":def,
"username":"Marie",
"data":{
"phone_number":"+456",
"address":"street 2"
}
}]
我想获取 pandas 数据框中的所有 phone 数字。目前,我正在做以下事情:
resp=collection.find({},{'data.phone_number':1,'_id':0})
df=pd.DataFrame(list(map(lambda x: x['data'],list(resp))))
有没有更自然的方式来执行此操作?
如果 phone 个数字是唯一的,您可以使用 distinct
numbers = collection.distinct('data.phone_number')
df=pd.DataFrame(numbers, columns = ['phone_number'])
如果它们不是唯一的,则没有真正更好的方法,您可以使用聚合管道实现类似的结果,但它不会真正提高性能。