【发布时间】:2023-03-27 23:05:01
【问题描述】:
当前数据:
存储为 Pandas DataFrame
print(df)
col1 | col2
A | 1
B | 3
C | 3
D | 7
E | 4
C | 3
目标:
如果 col1 是 A、C 或 E,我想创建一个将 col2 加 1 的新列。
col1 | col2 | col2_corrected
A | 1 | 2
B | 3 | 3
C | 3 | 4
D | 7 | 7
E | 4 | 5
C | 3 | 4
我失败的解决方案:
add_one_to_me = ['A','C','E']
if df.col1.isin(add_one_to_me):
df.col2_corrected = df.col2 + 1
else: df.col2_corrected = df.col2
这会引发关于模棱两可的真相的错误,因为它正在评估整个系列的真相。
如何将其应用于 DataFrame 的每一行?我是 Python 和编程的新手,所以这是一个非常基本的问题。
提前致谢!
【问题讨论】:
标签: python pandas loops if-statement