2

我有一个数据框:

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

我想提供行名、列名和要向后移动的行数。然后我想知道那个单元格中的值是什么。

例如:

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

将返回:6

有没有一种超级快速的方法来做到这一点?

4

1 回答 1

2

澄清一下,您想要一个包含数据框、位置(行和列)和数字的函数,对吗?你会想要使用 pandas shift 方法。

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

也适用于负数。您可能想要处理那些会让您以不同方式外出的轮班;这将返回NaNs。

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

另外,快速,您的意思是高性能还是简短而简单?这很短,但可能没有那么高效。

于 2013-10-25T17:18:58.500 回答