熊猫数据帧比较

时间:2013-12-02 15:07:45

标签: python numpy pandas

我正在学习项目的Pandas数据帧,并且无法理解一些操作符以及如何使用它们。在一个案例中,我有一个生产数据数据框和另一个目标数据框。我可以获得满足目标的生产数据中的项目以及未使用的项目:

good = prod['A'][prod['A'] >= target['A']]
bad = prod['A'][prod['A'] < target['A']]

它运作良好。但在某些情况下,我有一个上下目标,这是我被卡住的地方。我需要找到高于上层目标的值,低于下层目标的值以及介于两者之间的值并获得3个独立的数据帧。我尝试了使用普通列表时显而易见的事情:

aboveTargetA = prod['A'][prod['A'] >= targetA['A']]
belowTargetB = prod['A'][prod['A'] <= targetB['A']]
betweenTargets = prod[[col for index, col in df.iterrows() if col not in aboveTargetA and col not in belowTargetB]]

我不确定我应该如何使用这些数据帧和生成器,因为我以前从未使用它们。有人能指出我正确的方向进行比较吗?

1 个答案:

答案 0 :(得分:1)

您可以使用多个条件进行布尔索引:

prod['A'][(prod['A'] < targetA['A']) & (prod['A'] > targetB['A'])]

另见http://pandas.pydata.org/pandas-docs/dev/indexing.html#boolean-indexing

相关问题