如何为Pandas DataFrame的指定列添加数值?
批量更新Pandas DataFrame多列的简便方法
当然有更简洁的方式!你可以直接把要操作的列名放进一个列表,一次性选中这些列后执行算术操作,一行代码就能搞定:
c[['col3', 'col5', 'col6']] += cons
要是你习惯用loc(推荐在需要明确索引/列操作场景下使用,逻辑更清晰),也可以这么写:
c.loc[:, ['col3', 'col5', 'col6']] += cons
为什么这能行?
Pandas支持对DataFrame的多列子集直接执行向量式操作,完全不需要逐个列单独写语句。这种写法不仅更简洁,执行效率也更高——因为它减少了重复的函数调用,底层是一次性对选中的列块完成运算。
对比你原来的写法:
c.loc[:,'col3'] += cons c.loc[:,'col5'] += cons c.loc[:,'col6'] += cons
上面的批量写法和原代码功能完全等价,但代码量更少、可读性更强,尤其是当你需要操作的列数量更多时,优势会特别明显。
内容的提问来源于stack exchange,提问作者Googlebot
相关产品推荐
相关产品推荐

