我尝试执行此代码以将所有df_dash ['aoh'] <= 262替换为备用
if df_dash['aoh'] <= 262:
df_dash['category'] = 'standby'
但是我遇到此错误,而且我似乎找不到找到正确结果的方法。
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Users/jacob/anaconda3/envs/MERS/lib/python3.7/site-packages/pandas/core/generic.py", line 1555, in __nonzero__
self.__class__.__name__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我已经在其他线程中阅读了有关此错误的信息,但似乎无法找到针对此特定情况的解决方案。
我也尝试使用它
df_dash['category'] = np.where(df_dash['aoh'] <= 262, 'standby', df['category'])
但是,我得到
ValueError: operands could not be broadcast together with shapes (458,) () (4173,)
希望有人可以提供帮助
答案 0 :(得分:0)
df_dash['category'][df_dash['aoh'] <= 262] = 'standby'
答案 1 :(得分:0)
您可以将loc
与boolean indexing结合使用:
df_dash.loc[df_dash['aoh'] <= 262,'category'] = 'standby'
答案 2 :(得分:0)
一无所有-您的np.where
解决方案应该可以工作,但是我认为您在函数调用的第二部分中使用了df['category']
,而不是df_dash['category']
。
看不到其余的代码,但假定数据帧的大小不同。