[英]Python - how to replace values greater and smaller than a particular value
如果 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
所需的 output 应该是:
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))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.