【发布时间】:2018-12-28 12:25:18
【问题描述】:
我无法在diff_bearing 列上应用if 语句。 如果列 difference_bearing(float) > 20 的值。预期结果将为 -1。在所有其他情况下,预期结果将为 0。
df_FCD_big.groupby(['tripID'])['difference_bearing'].apply(lambda x: -1 if x >20 else 0)
弹出以下警告。
Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
提前致谢
【问题讨论】:
-
GroupBy 不是必需的:
df['result'] = np.where(df['difference_bearing'] > 20, -1, 0) -
在这种情况下是必需的,有不同的组(tripIDs)。我对组内而不是组之间的差异轴承感兴趣。
-
我不明白。也许向minimal reproducible example 提供样本数据和输出会有所帮助。在使这个问题可以回答方面真的有很长的路要走。