我的数据框类似于
A B C
1 4 x
2 8 y
3 7 z
4 12 y
5 10 b
我需要根据
之类的条件修改B列if B <= 5 then B = 1
if B > 5 and B <= 10 then B = 2
if B > 10 and B < 15 then B = 3
以便我的数据框成为
A B C
1 1 x
2 2 y
3 2 z
4 3 y
5 2 b
我可以,如果我必须先添加一个新列,然后删除B列。有人可以帮忙吗?
答案 0 :(得分:0)
您应该使用apply
函数来实现此目的。
def check(row):
if (row['B']) <= 5:
return 1
elif (row['B'] > 5) and (row['B'] <= 10):
return 2
elif (row['B'] > 10) and (row['B'] <= 15):
return 3
这些会将函数应用于每一行,然后您可以执行检查。
df['B'] = df.apply(check, axis = 1)
然后得到的DF看起来像:
A B C
1 1 x
2 2 y
3 2 z
4 3 y
5 2 b
提供更多文档here。