如何修改数据框内的列表值?我正在尝试调整JSON收到的数据,DataFrame如下:
Dataframe df:
id options
0 0 [{'a':1 ,'b':2, 'c':3, 'd':4}]
1 1 [{'a':5 ,'b':6, 'c':7, 'd':8}]
2 2 [{'a':9 ,'b':10, 'c':11, 'd':12}]
如果我只想在选项中使用'a'和'c'键/值,我该如何修改数据名?预期结果将是:
Dataframe df:
id options
0 0 [{'a':1 ,'c':3}]
1 1 [{'a':5 ,'c':7}]
2 2 [{'a':9 ,'c':11}]
答案 0 :(得分:0)
这是一个使用列表理解来创建仅包含特定键的新词典的示例:
df['options'] = [[{'a': x[0]['a'], 'c': x[0]['c']}] for x in df['options']]
答案 1 :(得分:0)
你可以apply
修改条目的函数:
>>> df.options = df.options.apply(lambda x: [{k: v for k, v in x[0].items() if k in ('a', 'c')}])
>>> df
id options
0 0 [{'a': 1, 'c': 3}]
1 1 [{'a': 5, 'c': 7}]
2 2 [{'a': 9, 'c': 11}]