首页 > 解决方案 > 如何用python中的特定值替换列的值?

问题描述

我是熊猫新手,我面临更换问题。所以我正在创建一个函数,它根据参数替换数据框列的值。条件是它应该只用一个值替换列的所有值,如下所示: 虽然我尝试收到错误“长度不匹配”

    def replace(df,column,condition):
          for i in column:
              for j in condition:
                   df[i]=j
          return df
    column = ['A','C']
    condition = 11,34
    df
        A  B  C 
     0  12 5  1
     1  13 6  5
     2  14 7  7
    replace(df,column,condition)

my excepted output:

        A  B  C 
     0  11 5  34
     1  11 6  34
     2  11 7  34

标签: pythonpandasdataframenumpyreplace

解决方案


使用键:值对,将条件和列转换为字典,解包并分配值

df.assign(**dict(zip(column, condition)))

推荐阅读