Python 如何修改数据帧中的听写?

Python 如何修改数据帧中的听写?,python,pandas,dictionary,dataframe,Python,Pandas,Dictionary,Dataframe,如何在数据帧内修改列表值?我正在尝试调整JSON接收到的数据,数据帧如下: 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”键/值,如何修改datafames?预期结果将是: Dataf

如何在数据帧内修改列表值?我正在尝试调整JSON接收到的数据,数据帧如下:

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”键/值,如何修改datafames?预期结果将是:

Dataframe df:
    id    options
0    0     [{'a':1 ,'c':3}]
1    1     [{'a':5 ,'c':7}] 
2    2     [{'a':9 ,'c':11}]

下面是一个使用列表理解创建只包含特定键的新词典的示例:

df['options'] = [[{'a': x[0]['a'], 'c': x[0]['c']}] for x in df['options']]

您只需
应用
修改条目的函数即可:

>>> 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}]