PANDAS:有没有一种自然的方法可以在给定当前行和列的情况下获取上一行中单元格的值



我有一个数据帧:

    a   b   c   d
A   1   6   4   1
B   2   6   3   9
C   1   2   4   5
D   4   6   1   5

id 喜欢提供行名、列名和要移回的行数。然后我会想知道该单元格中的值是什么。

例如:

df.ix[C,b] & shiftback= 2 rows 

会返回: 6

有没有超快速的方法可以做到这一点?

澄清一下,你想要一个接受数据帧、位置(行和列)和数字的函数吗?您需要使用熊猫移位方法。

def f(df, row, col, nshift):
    return df.shift(nshift).loc[row, col]

也适用于负数。您可能希望处理会让您与众不同的轮班;这将返回NaN S。

In [12]: f(df, 'C', 'b', 2)
Out[12]: 6.0

同样说快,你的意思是高性能还是简短简单?这很短,但可能不是那么高性能。

最新更新