【发布时间】:2019-12-10 14:00:16
【问题描述】:
我正在尝试创建一个数据框。
df = pd.DataFrame(columns=["Year", "Fuel", "Status", "Sex", "Service", "Expected"])
其他列包含使用np.random 创建的数据。
在“预期”列中,我想根据几个条件输入通过或失败。如果里程少于 100000 并且如果服务是,则它会通过,否则它会失败。
这是我目前所拥有的
df["Expected"] = df.loc[(df['Mileage']< 100000) | (df['Service'] == 'Yes', "Pass", "Fail")]
它正在显示错误消息
ValueError: operands could not be broadcast together with shapes (500,) (3,)
我已经用 500 行数据填充了其他列。但我不确定这 3 与什么有关。可能是 Yes、Pass、Fail 值。
我还尝试了df['Expected'] = np.where(df ["Mileage"] < 132352, ['Service'] == "Yes",'Pass','Fail') 哪种方法有效。
我是不是走错了路?
任何帮助或指点将不胜感激。
【问题讨论】:
标签: python pandas dataframe jupyter-notebook