我目前正在尝试过滤由我们的一个应用程序生成的日志数据帧。基本上,代码如下所示:import pandas as pddata = '''{"a": 1, "b": 2, "context": {"org": "company_1", "user": ""}}{"a": 3, "b": 4, "context": {"org": "", "user": "test"}}{"a": 5, "b": 6, "context": {"user": "test_2"}}'''df = pd.load_json(data, lines = True)filtered_data = df[df.context.org == 'company_1']不幸的是,这段代码抛出了一个异常:AttributeError: 'Series' 对象没有属性 'org'我可以理解异常,因为数据的第三行没有设置 context.org。但是,在尝试过滤数据之前,我无法“修复”数据(这里我们谈论的是几百万行日志)。有没有办法告诉熊猫简单地忽略错误?
2 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
使用 concat
pd.concat([df[['a','b']],pd.DataFrame(df.context.tolist(),index=df.index)],1)
Out[318]:
a b org user
0 1 2 company_1
1 3 4 test
2 5 6 NaN test_2
添加回答
举报
0/150
提交
取消