【发布时间】:2021-12-24 03:50:27
【问题描述】:
我正在尝试遍历数据框(行和列)并提取值为2 的最后一行,该值高于6。我所追求的示例如下:
输入数据帧
import pandas as pd
data = [{'c1':'a', 'c2':2}, {'c1':'b','c2':2}, {'c1':'c','c2':6},{'c1':'d','c2':6},{'c1':'e','c2':2},{'c1':'c','c2':6}]
df = pd.DataFrame(data)
c1 c2
0 a 2
1 b 2
2 c 6
3 d 6
4 e 2
5 c 6
期望的输出:
0 b 2
1 e 2
我可以使用itterrows() 迭代行/列,但问题是我想在另一行之前获取值。为此,根据我的理解,我需要在 pandas 中使用 shift 函数。此函数仅适用于pd.series,不适用于完整数据帧。
还有其他方法可以做到这一点吗?请有人能指出我正确的方向吗?
【问题讨论】:
标签: python python-3.x pandas dataframe loops