python-3.x 如何将键的值指定为Pandas行值

0sgqnhkj  于 2023-01-22  发布在  Python
关注(0)|答案(1)|浏览(129)

给定此 Dataframe :

{'index': {0: 0, 1: 1},
 'speed': {0: {'value': ['3'], 'comment': ''},
  1: {'value': ['2'], 'comment': ''}},
 'rotor': {0: {'value': ['2'], 'comment': ''},
  1: {'value': ['3'], 'comment': ''}}}

如何才能只获得value密钥作为此输出:

pd.DataFrame({'index': [0,1],'speed': [3,2],'rotor': [2,3]})

我尝试了df.apply(lambda x: x.get('value')df.apply(lambda x: x.get('value'), axis=1,但没有成功

5uzkadbs

5uzkadbs1#

您必须选择列并使用str.get(或str['value']):

cols = ['speed', 'rotor']

df[cols] = df[cols].apply(lambda x: x.str.get('value'))

输出:

index speed rotor
0      0   [3]   [2]
1      1   [2]   [3]

如果只需要整数值:

cols = ['speed', 'rotor']

df[cols] = df[cols].apply(lambda x: x.str.get('value').str[0]).astype(int)

输出:

index  speed  rotor
0      0      3      2
1      1      2      3

使用applymap的替代方法:

cols = ['speed', 'rotor']

df[cols] = df[cols].applymap(lambda x: int(x['value'][0]))

相关问题