wep_df_old[‘wep_old’]= np.where((wep_df_old[‘wep’] <2 or wep_df_old[‘wep’]>16),0,1) 运行改代码报错:Cannot perform ‘ror_’ with a dtyped [float64] array and scalar of type [bool],如何修改
这个错误是因为在使用np.where函数时,条件表达式的结果类型与期望的输出类型不匹配。在这个例子中,wep_df_old[‘wep’]❤️ or wep_df_old[‘wep’]>16的结果是一个布尔值数组,而np.where函数期望的输出类型是标量。
为了解决这个问题,你可以将条件表达式拆分为两个部分,然后使用np.logical_or函数将它们组合在一起。这是修改后的代码:
wep_df_old['wep_old'] = np.where(np.logical_or(wep_df_old['wep'] < 2, wep_df_old['wep'] > 16), 0, 1)