如果DataFrame的值小于或大于某个特定值,如何替换该值?
打印(Df)
name seq1 seq11
0 seq102 -14 -5.99
1 seq103 -5.25 -7.94
我希望将值<
than -8.5设置为1,并将>
than -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
谢谢
发布于 2021-04-13 06:51:19
试一试
num.iloc[:,1:] = num.iloc[:,1:].applymap(lambda x: 1 if x < -8.50 else 0)
请注意,此处等于-8.50
的值将被设置为零。
发布于 2021-04-13 06:52:13
def thresh(x):
if(x < -8.5):
return 1
elif(x > -8.5):
return 0
return x
print(df[["seq1", "seq2"]].apply(thresh))
https://stackoverflow.com/questions/67066610
复制相似问题