2024-10-05 14:30:10 发布
网友
我有一个数据帧:
id val size 1 100 2 500 3 300
我有一个嵌套列表L=[[300,20],[100,45],[500,12]]
我想用子列表中对应于该列值的第二个元素填充数据帧。在
我的最终数据帧应该是
另一种使用merge
merge
In [1417]: df.merge(pd.DataFrame(L, columns=['val', 'size']), on='val') Out[1417]: id val size 0 1 100 45 1 2 500 12 2 3 300 20
首先初始化映射:
In [132]: mapping = dict([[300,20],[100,45],[500,12]]); mapping Out[132]: {100: 45, 300: 20, 500: 12}
现在,您可以使用df.replace或{}。在
df.replace
选项1
使用df.replace:
选项2
使用df.map:
df.map
In [140]: df['size'] = df.val.map(mapping) In [141]: df Out[141]: id val size 0 1 100 45 1 2 500 12 2 3 300 20
另一种使用
merge
首先初始化映射:
现在,您可以使用}。在
df.replace
或{选项1
使用
^{pr2}$df.replace
:选项2
使用
df.map
:相关问题 更多 >
编程相关推荐