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

标签 python-2.7 pandas ipython jupyter-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 

将返回: 6

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

最佳答案

为了澄清一下,您想要一个接受数据框、位置(行和列)和数字的函数,对吗?您需要使用 pandas 移位方法。

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

也适用于负数。您可能想要以不同的方式处理轮类;这将返回 NaN。

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

另外,你所说的快速是指高性能还是简短?这很短,但可能性能不高。

关于python-2.7 - PANDAS:有没有一种自然的方法可以在给定当前行和列的情况下获取上一行中单元格的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595643/

相关文章:

python - 根据列中值的前缀删除 Pandas 行

python - 如何在 IPython 控制台中默认运行文件而不是终端?

python - 导入错误 : No module named IPython

python - 如何在 ipython 笔记本中创建一个新笔记本?

python - 模块已安装但无法导入

python-2.7 - 使用杰卡德相似度对分类数据进行聚类

python - 在Python中以不同的步骤转移数据

python - numpy 中是否有通用的 if 函数?

python - 如何使用 pandas 填充缺失的时间数据

python - 在 Python 的空列表中一起使用 "not"和 "bool"的不明确行为