Python 数据帧列中值的条件替换

Python 数据帧列中值的条件替换,python,pandas,Python,Pandas,假设我有一个pandas数据帧,列值为age,如df.age={25,35,76,21,23,30} 我想做这样的就地更换: 如果df.age>=25且df.age您可以根据您的情况将序列与值(25/35)进行比较,然后使用aType(int)将真/假值转换为1/0。范例- df['age'] = ((25 <= df['age']) & (df['age'] <= 35)).astype(int) df['age']=((25您还可以创建一个函数来检查您的条件,并应用于数

假设我有一个pandas数据帧,列值为age,如df.age={25,35,76,21,23,30}

我想做这样的就地更换:


如果df.age>=25且df.age您可以根据您的情况将序列与值(25/35)进行比较,然后使用
aType(int)
真/假
值转换为
1/0
。范例-

df['age'] = ((25 <= df['age']) & (df['age'] <= 35)).astype(int)

df['age']=((25您还可以创建一个函数来检查您的条件,并应用于数据帧:

def condition(value):
    if 25 <= value <= 35:
        return 1
    return 0

# stealing sample from @AnandSKumar because I'm lazy
In [32]: df
Out[32]: 
   age
0   25
1   35
2   76
3   21
4   23
5   30

In [33]: df['age'] = df['age'].apply(condition)

In [34]: df
Out[34]: 
   age
0    1
1    1
2    0
3    0
4    0
5    1
def条件(值):

如果25基于刚刚删除的答案,请记住,您要查找的条件的正确语法是
(df.age>=25)&(df.age我非常喜欢lambda部分,它给了我很大的灵活性,可以根据需要扩展条件。谢谢!
def condition(value):
    if 25 <= value <= 35:
        return 1
    return 0

# stealing sample from @AnandSKumar because I'm lazy
In [32]: df
Out[32]: 
   age
0   25
1   35
2   76
3   21
4   23
5   30

In [33]: df['age'] = df['age'].apply(condition)

In [34]: df
Out[34]: 
   age
0    1
1    1
2    0
3    0
4    0
5    1
df['age'] = df['age'].apply(lambda x: 1 if 25 <=  x <= 35 else 0)