Pandas:基于运行tim中的值更新值

2024-05-19 06:23:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

df1:

Steam   feat
1   some_value
2   some_value
3   some_value
4   some_value

我必须根据特定条件更新“专长”中的值。例如 当蒸汽为“2”时,我必须将专长更新为“88” 输出应如下所示:

最终输出:

Steam      feat
    1   some_value
    2      88
    3   some_value
    4   some_value

这里的问题是,我必须传递从另一个名为df2的表中获取的运行时值中的值“2”和“88”

df2:

cola    colb

2   88

为了实现这一点,我尝试应用以下代码:

df1.loc[df1["Steam"] = df2.cola.values, 'feat'] = df2.colb.values

但是,我得到了一个“无效语法”错误

df2.cola.values的值如下所示

array(['2'], dtype=object)

我做错什么了吗?请告知


Tags: 数据代码valuesomesteam蒸汽df1values
1条回答
网友
1楼 · 发布于 2024-05-19 06:23:00

您需要对齐索引并映射数据。这是一种方法,如果您希望存在映射,那么这种方法应该是有效的

df1['feat'] = df1['Steam'].map(df2.set_index('cola')['colb']).fillna(df1['feat'])

相关问题 更多 >

    热门问题