【发布时间】:2018-08-03 23:33:17
【问题描述】:
我想根据使用 pandas 对另一列的评估创建一列布尔值。理想情况下,我想使用与我复制的语法类似的语法,但如果这不可能,我愿意接受其他建议。
df 是一个熊猫数据框。 AggRow 是一列整数数据。
所以,我有 AggRow 的数据,这些数据具有一系列值。我可以根据单个标准成功创建一个新列 conditionmet,就像这样,如果我希望 conditionmet 在 AggRow 小于或等于 6001 的地方为 True:
conditionmet = df['AggRow'] <= 6001
但是,如果 AggRow
conditionmet = ((df['AggRow'] <= 6001) | ((df['AggRow'] >= 10001) & (df['AggRow'] <= 10009)))
如何在 AggRow = 10001 和
【问题讨论】:
-
我在这里复制了这个问题,这个逻辑
conditionmet = ((df['AggRow'] <= 6001) | ((df['AggRow'] >= 10001) & (df['AggRow'] <= 10009)))按预期工作。您是否尝试过检查.dtypes或其他一些可能性,以了解为什么这不起作用? -
@joaoavf 感谢您确认它对您有用。事实上,问题出在数据上。 AggRow 已填充为其一些先前值的总和,因此例如,在我期望 aggrow 等于 10002 的地方,它没有。
标签: pandas conditional