pandas DF列递归对之间的最大差异
问题描述:
我有一个DataFrame,其中包含整数列'col1'。 DF可能有任何从100到100毫米的行。 如何计算在COL1如对值之间的差异:pandas DF列递归对之间的最大差异
2行 - ROW1 ROW3 - 2行 ROW4 - ROW3 等
,并返回最大的区别?
我知道如何使用禄,ILOC但不知道如何迫使它要经过对值,并移动到下一对
答
max(df[col_name].shift(-1)-df[col_name])
职能转变的需要下一行的值(或第二排,如果你换班(-2))。通过执行df [col_name] .shift(-1),您可以获取特定行,该行位于该行下方的行中。从df [col_name] .shift(-1)的值中抽取来自当前值的值会为每行提供行之间的差异。所以在一个数据框中,你最终会得到一系列行之间的差异。采取最大值,你会得到最大值。
Example below col_1 == Original column, col_2 == df[col_1].shift(-1)
> col_1 | col_2
> 123 | 456
> 456| 999
> 999| nan
现在您只需从col_2减去col_1,取最大值并获得最大差值。
'df ['col1']。diff()。max()'? – Zero
我错过了配对......是的,约翰·加尔特说的是什么。 – piRSquared
Arghh ....这是用于PYTHON语言的标签PYTHON有多难? –