在满足条件的地方,获取最后一行 pandas

Posted

技术标签:

【中文标题】在满足条件的地方,获取最后一行 pandas【英文标题】:where condition is met, get last row pandas 【发布时间】:2018-09-27 20:04:58 【问题描述】:
+------------+----+----+----+-----+----+----+----+-----+
|     WS     | 1  | 2  | 3  |  4  | 1  | 2  | 3  |  4  |
+------------+----+----+----+-----+----+----+----+-----+
| w1         |  0 |  0 |  0 |  50 |  0 |  0 |  0 |  50 |
| w2         |  0 | 30 |  0 |   0 |  0 | 30 |  0 |   0 |
| d1         |  0 |  0 |  0 |   0 |  0 |  0 |  0 |   0 |
| d2         | 62 |  0 |  0 |   0 | 62 |  0 |  0 |   0 |
| Total      | 62 | 30 |  0 |  50 | 62 | 30 |  0 |  50 |
| Cumulative | 62 | 92 | 92 | 142 | 62 | 92 | 92 | 142 |
+------------+----+----+----+-----+----+----+----+-----+

根据列值大于0的情况,我想得到行“累积”的对应值。

如图所示,当50 > 0时,我想得到对应的“累积”值142。

+------------+----+----+---+-----+----+----+---+-----+
|     WS     | 1  | 2  | 3 |  4  | 1  | 2  | 3 |  4  |
+------------+----+----+---+-----+----+----+---+-----+
| Cumulative | 62 | 92 | 0 | 142 | 62 | 92 | 0 | 142 |
+------------+----+----+---+-----+----+----+---+-----+

我尝试过 pandas loc 和 iloc,但它们无法执行我想要的操作。

谢谢你!

【问题讨论】:

将您的数据框发布为文本,而不是图像。 一些代码也不错。 希望问题描述现在更好。 【参考方案1】:

您当然应该更好地设计您的问题,但无论如何,这里有一个可能的解决方案:

假设 df 是您的 DataFrame:

df[df>5].loc['Cumulative'].dropna()

【讨论】:

感谢您的建议。也许我编辑的问题描述更清楚。

以上是关于在满足条件的地方,获取最后一行 pandas的主要内容,如果未能解决你的问题,请参考以下文章