我正在尝试编写一个函数,该函数将基于同一'BS_Trigger'
(dataframe
)中另一列中的值填充名为'cnms_df'
的新列。
today = datetime.datetime.today().strftime('%Y%m%d')
....
def bs_trigger(dataframe):
dataframe['BS_Trigger'] = np.where((dataframe['PRELIM_DATE'] != None) and (dataframe['PRELIM_DATE'] <= today), "Yes", "No")
bs_trigger(cnms_df)
使用上面的代码,我不断抛出值错误:
ValueError:系列的真值不明确。使用空 a.bool(),a.item(),a.any()或a.all()。
我在这里做错了什么? 注意: :如果`cnms_df ['PRELIM_DATE'] [i] = None',则该值为NoneType,而不是字符串***
答案 0 :(得分:1)
尝试更换:
dataframe['BS_Trigger'] = np.where((dataframe['PRELIM_DATE'] != None) and (dataframe['PRELIM_DATE'] <= today), "Yes", "No")
具有:
dataframe["BS_Trigger"]="No"
dataframe.BS_Trigger[(dataframe['PRELIM_DATE'] != None) & (dataframe['PRELIM_DATE'] <= today)]= "Yes"