在满足条件的地方,获取最后一行 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的主要内容,如果未能解决你的问题,请参考以下文章
oracle 表中有很多相同的记录,怎么只取满足条件的第一条?