【发布时间】:2018-01-10 04:49:26
【问题描述】:
我有一个数据框 df1,其中一列是“值”。它看起来像 -
values
['acd3f','rt5gh8','5ty7e']
['rt5gh8','t67ui']
我有另一个数据框 df2,其中包含两列“0”和“1”,其值类似于 -
0 1
acd3f I am cool
rt5gh8 I am not cool
5ty7e ok_sir
t67ui no_sir
我想修改 df1 以添加一个新列“value_names”,它应该看起来像 -
values value_names
['acd3f','rt5gh8','5ty7e'] ['I am cool','I am not cool','ok_sir']
['rt5gh8','t67ui'] ['I am not cool','no_sir']
我正在尝试下面的代码 -
df1['value_names'] = df1['values'].replace(df2.set_index('0')['1'].dropna())
它似乎不起作用并给我一个错误 -
KeyError: '1'
注意:
基本上,我之前拥有的不是 df2 而是一个带有映射的列表。我将其转换为数据框 df2 并自动分配 df2 中的这些列名“0”和“1”。
【问题讨论】:
-
在我看来这个专栏不是
'1',而是1... -
基本上,我之前拥有的不是 df2 而是一个带有映射的列表。我将其转换为数据框 df2 并自动分配这些列名。
标签: python pandas numpy jupyter-notebook