我知道已经提出了这类问题,但是对于我的特定问题,我找不到任何答案。
我在“得分”列中有一个包含很多值的csv。如果一个值大于0,001,我想将其替换为1。如果该值小于-0,001,我想将其替换为-1。之间的所有值都需要删除。
我尝试了以下方法:
import pandas as pd
import numpy as np
df = pd.read_csv('test.csv')
a = np.array(df['score'].values.tolist())
df['text']=np.where(a > 0.001, 1, a).tolist()
df['text']=np.where(a < -0.001, -1, a).tolist()
# Second try
#df['score']=df['score'].apply(lambda x: [-1 if x <= 0.001 else x])
#df['score']=df['score'].apply(lambda x: [1 if x > 0.001 else x])
在两种情况下,输出仅显示第二个表达式,但忽略第一个表达式。因此,在此示例中,我收到一个列表,其中每个值<-0.001 = -1,仅此而已。
有人可以帮助我吗?