python - 如何用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
解决方案
使用键:值对,将条件和列转换为字典,解包并分配值
df.assign(**dict(zip(column, condition)))
推荐阅读
- typescript - 在 Typescript 中具有编码为字符串的选项类型
- c++ - OpenGL是否将屏幕定位在相机前面?
- spotfire - 交叉表 - 如何根据列的结果添加计算列
- vue.js - Nuxt auth 向我返回 Bearer Bearer 令牌
- java - NumberFormatException:在数据网格中更改页面时为空
- mongodb - MongoDB 的 Homebrew 安装和更新问题
- javascript - 通过打字稿中的布尔属性对数组进行排序
- java - 在没有上下文根的情况下访问时如何将应用程序重定向到错误页面
- javascript - 如何创建 div 并以角度设置类属性?
- mysql - 如何在 SQL 中按日期连接 2 个表?