如果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))