我有一个数据框:
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
有一种超快的方法吗?
答案 0 :(得分:2)
为了澄清一下,你想要一个能够获取数据帧,位置(行和列)和数字的函数吗?你会想要使用pandas shift方法。
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
同样快速,你的意思是高性能还是简短?这很短,但可能不是那么高效。