如何访问Pandas DataFrame中的嵌入式json对象?

凯尔·凯利(Kyle Kelley)

TL; DR如果Pandas DataFrame中加载的字段本身包含JSON文档,如何以类似Pandas的方式使用它们?

目前,我直接将Twitter库(twython)中的json / dictionary结果转储到Mongo集合中(在此称为用户)。

from twython import Twython
from pymongo import MongoClient

tw = Twython(...<auth>...)

# Using mongo as object storage 
client = MongoClient()
db = client.twitter
user_coll = db.users

user_batch = ... # collection of user ids
user_dict_batch = tw.lookup_user(user_id=user_batch)

for user_dict in user_dict_batch:
    if(user_coll.find_one({"id":user_dict['id']}) == None):
        user_coll.insert(user_dict)

填充此数据库后,我将文档读入Pandas:

# Pull straight from mongo to pandas
cursor = user_coll.find()
df = pandas.DataFrame(list(cursor))

像魔术一样工作:

熊猫是魔术

我希望能够处理“状态”字段中的熊猫样式(直接访问属性)。有办法吗?

状态栏

编辑:类似df ['status:text']。状态具有“文本”,“ created_at”之类的字段。一种选择可能是扁平化/标准化此json字段,例如Wes McKinney正在处理的拉取请求

安迪·海登(Andy Hayden)

一种解决方案是使用Series构造函数粉碎它:

In [1]: df = pd.DataFrame([[1, {'a': 2}], [2, {'a': 1, 'b': 3}]])

In [2]: df
Out[2]: 
   0                   1
0  1           {u'a': 2}
1  2  {u'a': 1, u'b': 3}

In [3]: df[1].apply(pd.Series)
Out[3]: 
   a   b
0  2 NaN
1  1   3

在某些情况下,您需要将其连接到DataFrame而不是dict行:

In [4]: dict_col = df.pop(1)  # here 1 is the column name

In [5]: pd.concat([df, dict_col.apply(pd.Series)], axis=1)
Out[5]: 
   0  a   b
0  1  2 NaN
1  2  1   3

如果更深入,您可以执行几次...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在MongoDB中的嵌入式数组对象中插入json对象?

访问嵌入式JSON的深层对象成员

如何在Swift中创建嵌入式JSON对象并返回String?

如何从Mongoose模式的嵌入式对象中删除_id?

如何对MongoDB中的嵌入式对象进行排序

如何从嵌入式资源C#中读取.JSON

如何使用$ .each在JSON中显示嵌入式数组?

在嵌入式功能中访问功能

访问GoLang中的嵌入式方法

如何访问POST请求中的嵌入式键值

如何访问网页中的嵌入式pdf文件

嵌入 angular 或使用嵌入式 URL REST API 后,如何从嵌入式 Power BI 报告/视觉对象中读取数据点值详细信息?

如何访问嵌入式附件?

如何访问嵌入式组件的PropType?

如何在upsert中自动为嵌入式对象生成_id?

如何在MongoDB的数组字段中查询和删除嵌入式对象?

如何在Vba中使用标题打开Excel中的嵌入式对象?

如何使用Open XML SDK删除Word和PowerPoint中的所有嵌入式对象?

在Spring Boot中,如何对嵌入式对象的URL查询属性?

如何防止嵌入式对象图片出现在Word 2013的目录中?

如何在C ++中嵌入Chromium嵌入式框架

使用JSON访问mongodb的嵌入式文档

如何在嵌入式数组mongodb中查询嵌入式文档

如何在Objective-C中处理用于JSON格式的嵌入式数组

Swagger 2.0-如何定义嵌入式对象

如何使用Hibernate OGM检索嵌入式对象

适应性:如何渲染嵌入式对象?

如何使用jQuery .find()从嵌入式对象检索值

访问嵌入式内存中的HSQLDB实例