首页 > 解决方案 > 装满字典的熊猫专栏

问题描述

你好我有以下问题。我目前有一个填充了各种位置数据的 DataFrame。不幸的是,一列中填满了一个包含各种字典的大列表。我想将字典的内容显示为数据框中的列,以便我可以编辑它们。当前的 Df 如下所示:

时间 返回码 位置变量
02.02.2017 13:01 好的 [{“key”:“Positionsdaten”,“value”:“1”,“vartype”:1},{“key”:“PositionX”,“value:11”,“vartype”1},{“key” : "PositionY", "value: 9", "vartype" 1}, {"key": "PositionZ", "value: 1", "vartype" 1}]
02.02.2017 13:05 好的 {“key”:“Positionsdaten”,“value”:“1”,“vartype”:1},{“key”:“PositionX”,“value:3”,“vartype”1},{“key”: "PositionY", "value: 1", "vartype" 1}, {"key": "PositionZ", "value: 0", "vartype" 1}]

我的目标是 Df 看起来像那样

时间 返回码 位置Y 位置X 位置Z
02.02.2017 13:01 好的 11 9 1

我已经尝试过规范化,但这会导致属性错误

df1 = pd.json_normalize(df["position.vars"].dropna()

AttributeError: 'list' has no attribute 'values'

我还想从数据框中创建一个字典,然后手动删除不必要的数据。但是我不断收到类型错误

df1 = df["position.vars"] 
didct = df1.to_dict
TypeError: 'method' object is not subscriptable

标签: pythonpandas

解决方案


您可以提取 df.loc[0,'position.vars']。现在您的字典已经出来了,您可以轻松访问它的数据,然后您可以在原始 df 数据框中以您喜欢的格式带回这些数据。


推荐阅读