【发布时间】:2017-11-06 11:27:01
【问题描述】:
我想在 C 列中设置一个字符串,而 B 列中的值 >= 2(如果 >= 为 True,则为是,如果 >= 为 False,则为否)。输出应该如下:
A B C
1 A 2 'yes'
2 B 3 'yes'
3 C 4 'yes'
4 D 5 'yes'
5 A 6 'yes'
6 B 7 'yes'
7 C 0 'no'
8 D 1 'no'
9 A 2 'yes'
10 B 3 'yes'
11 C 4 'yes'
12 D 0 'no'
到目前为止,我已经尝试实现嵌套循环,但速度太慢了:
i= 0
for row in range(0, len(df)-1):
if df['B'][i] >= 2:
if df['B'][i] >= 2:
df['C'][i] = 'yes'
elif df['B'][i] >= 2:
df['C'][i] = 'yes'
【问题讨论】:
-
你的问题和你的 for 循环说的是两件不同的事情。您在问题中没有提到您检查的行之后的行也必须大于或等于 2。
-
你是对的——我很抱歉。这是之前的尝试,所以我已经编辑了必要的更改。
标签: python pandas for-loop while-loop list-comprehension