Python 当使用if-else使用pandas操作数据帧时,我遇到值错误?

Python 当使用if-else使用pandas操作数据帧时,我遇到值错误?,python,pandas,Python,Pandas,这是我写的代码,df是dataframe。 我正在使用python3,我对pandas是新手,我尝试过按位运算符以及关键字和或 if((df['Day_Perc_Change']>=-0.5) & (df['Day_Perc_Change']<=0.5)): df['Trend']="Slight or No Change" elif((df['Day_Perc_Change']>=0.5) & (df['Day_Perc_Change']<=

这是我写的代码,df是dataframe。 我正在使用python3,我对pandas是新手,我尝试过按位运算符以及关键字和或

if((df['Day_Perc_Change']>=-0.5) & (df['Day_Perc_Change']<=0.5)):

    df['Trend']="Slight or No Change"

elif((df['Day_Perc_Change']>=0.5) & (df['Day_Perc_Change']<=1)):

    df['Trend']="Slight Positive"

elif((df['Day_Perc_Change']>=-1) & (df['Day_Perc_Change']<=-0.5)):

    df['Trend']="Slight Negative"

elif((df['Day_Perc_Change']>=1) & (df['Day_Perc_Change']<=3)):

    df['Trend']="Positive"

elif((df['Day_Perc_Change']>=-3) & (df['Day_Perc_Change']<=-1)):

    df['Trend']="Negative"

elif((df['Day_Perc_Change']>=3) & (df['Day_Perc_Change']<=7)):

    df['Trend']='Among top gainers'
**这就是我得到的错误

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
 I have used both and as well as | but it is working.
Can anyone help me out?
​**
BAM,
np.where()
,它也是矢量化的,性能很高

df['Trend'] = ''
df['Trend'] = np.where((df['Day_Perc_Change']>=-0.5) & (df['Day_Perc_Change']<=0.5), "Slight or No Change", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=0.5) & (df['Day_Perc_Change']<=1), "Slight Positive", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=-1) & (df['Day_Perc_Change']<=-0.5), "Slight Negative", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=1) & (df['Day_Perc_Change']<=3), "Positive", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=-3) & (df['Day_Perc_Change']<=-1), "Negative", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=3) & (df['Day_Perc_Change']<=7), "Among top gainers", df['Trend'])
df['Trend']='
df['Trend']=np.其中((df['Day'u Perc_'u Change']>=-0.5)和(df['Day'u Perc_Change']=0.5)和(df['Day'u Perc_Change']=-1)和(df['Day'u Perc_Change']=-3)和(df['Day'u Perc_Change']=3)和(df['Day'Day'u Perc_Change'>,其中也是高性能的

df['Trend'] = ''
df['Trend'] = np.where((df['Day_Perc_Change']>=-0.5) & (df['Day_Perc_Change']<=0.5), "Slight or No Change", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=0.5) & (df['Day_Perc_Change']<=1), "Slight Positive", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=-1) & (df['Day_Perc_Change']<=-0.5), "Slight Negative", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=1) & (df['Day_Perc_Change']<=3), "Positive", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=-3) & (df['Day_Perc_Change']<=-1), "Negative", df['Trend'])
df['Trend'] = np.where((df['Day_Perc_Change']>=3) & (df['Day_Perc_Change']<=7), "Among top gainers", df['Trend'])
df['Trend']='

df['Trend']=np.where((df['Day'u Perc_-Change']>=-0.5)和(df['Day'u Perc_-Change']=0.5)和(df['Day'u Perc_-Change']=-1)和(df['Day'u Perc_-Change']=3)和(df['Day'u Perc-Change'=3)有帮助吗?这回答了你的问题吗?