AttrributeError: 'Series' 对象在尝试过滤数据框时没有属性 'org'

我目前正在尝试过滤由我们的一个应用程序生成的日志数据帧。基本上,代码如下所示:


import pandas as pd


data = '''{"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。


但是,在尝试过滤数据之前,我无法“修复”数据(这里我们谈论的是几百万行日志)。


有没有办法告诉熊猫简单地忽略错误?


繁花如伊
浏览 165回答 2
2回答

一只名叫tom的猫

使用 concatpd.concat([df[['a','b']],pd.DataFrame(df.context.tolist(),index=df.index)],1)Out[318]:    a  b        org    user0  1  2  company_1        1  3  4               test2  5  6        NaN  test_2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python