Python Pandas 如何同时对DataFrame指定列执行加减自定义数值操作
实现方案
以下两种方法都可以一行完成两列的同步修改,无需拆分操作:
方法1:广播运算原位修改
写法最简单,直接在原DataFrame上修改:
df[['Region1', 'Region2']] += [-5, 5]
依托pandas的广播机制,列表中的两个数值会分别对应匹配到Region1、Region2列执行加法,-5即可实现该列减5的需求。如果需要调整自定义数值,直接修改列表内的两个参数即可。
方法2:assign方法生成修改后对象
如果需要保留原DataFrame数据,可使用assign方法生成新对象:
# 生成新对象不修改原df modified_df = df.assign(Region1=df['Region1'] - 5, Region2=df['Region2'] + 5) # 如需直接覆盖原df,改为 df = df.assign(...) 即可
注意:执行操作前请确保
Region1和Region2两列为数值类型,如出现类型错误可先执行转换:df[['Region1','Region2']] = df[['Region1','Region2']].astype(int)
内容的提问来源于stack exchange,提问作者Muffin Man Caniko
相关产品推荐
相关产品推荐

