Python-如何替换大于或小于特定值的值



如果DataFrame的值小于或大于特定值,我如何替换这些值?

打印(df(

name            seq1   seq11
0     seq102    -14     -5.99   
1     seq103    -5.25   -7.94    

我想将大于-8.5的值<设置为1,将大于-8.5>设置为0。

我试过了,但所有的值都为零;

import pandas as pd
df = pd.read_csv('df.csv')
num = df._get_numeric_data() 
num[num < -8.50] = 1
num[num > -8.50] = 0

所需输出应为:

name            seq1   seq11
0     seq102      1       0   
1     seq103      0       0

谢谢

尝试

num.iloc[:,1:] = num.iloc[:,1:].applymap(lambda x: 1 if x < -8.50 else 0)

注意,这里等于-8.50的值将被设置为零。

def thresh(x):
if(x < -8.5):
return 1
elif(x > -8.5):
return 0
return x
print(df[["seq1", "seq2"]].apply(thresh))

最新更新