Python 2.7 熊猫:在给定当前行和列的情况下,是否有一种自然的方法来获取前一行中单元格的值?
我有一个数据帧:Python 2.7 熊猫:在给定当前行和列的情况下,是否有一种自然的方法来获取前一行中单元格的值?,python-2.7,pandas,ipython,ipython-notebook,dataframe,Python 2.7,Pandas,Ipython,Ipython Notebook,Dataframe,我有一个数据帧: 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 将返回: 六, 有没有一种超快速的方法可以做到这一点?只是想澄清一下,您想要一个包含数据帧、位置(行和列)和数字的函数,对吗?您需要使用移位方
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
将返回:
六,
有没有一种超快速的方法可以做到这一点?只是想澄清一下,您想要一个包含数据帧、位置(行和列)和数字的函数,对吗?您需要使用移位方法
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
你说的快,是指性能好还是简练?这很短,但可能没有那么高的性能。df.ix[df.index.get_loc('C')-2,'b']会快得多(因为它不会移动任何内容,只是索引查找)