繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM