如何在Python DataFrame中使用自增自减运算符
Python 原生语法本身不支持C语言中的++、--自增自减运算符,Pandas DataFrame 也没有对应的运算符实现,要实现等价功能可以参考以下用法:
整列/全表全局自增、自减
直接使用增量赋值运算符即可:
- 对单列操作:
df['目标列名'] += 1(自增1)、df['目标列名'] -= 1(自减1) - 对全表所有数值列操作:
df += 1、df -= 1
示例代码:
import pandas as pd # 初始化测试数据 df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6]}) # col1列所有值自增1 df['col1'] += 1 # 全表所有数值自减1 df -= 1
按条件筛选特定行自增、自减
如果只需要对符合筛选条件的部分行做操作,搭配布尔索引即可:
# 给col1大于2的行对应的col2值自增1 df.loc[df['col1'] > 2, 'col2'] += 1
注意:不要尝试写
df['col1']++这类语法,不符合Python语法规范,运行会直接报错。如果需要模拟C语言中前置/后置自增的返回值差异,后置自增(先返回原值再修改)可以先拷贝列值存为临时变量再做增量操作,前置自增(先修改再返回新值)直接操作后取值即可。
内容的提问来源于stack exchange,提问作者kwsong0314
相关产品推荐
相关产品推荐

