Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用循环将一行除以前一行的内容_Python_Pandas_Numpy - Fatal编程技术网

Python 如何使用循环将一行除以前一行的内容

Python 如何使用循环将一行除以前一行的内容,python,pandas,numpy,Python,Pandas,Numpy,使用pandas数据帧,我想取第I行中的每一行,并将其除以第I-1行。我想使用矢量化(即,循环为否) e、 g.如果我有以下数据帧: 1 10 2 20 8 160 32 480 我最终会: 1 10 2 2 4 8 4 3 注意:除法运算使用旧表值,而不是更新的值 另外,很抱歉格式不好 使用、div、shift和fillna: df.div(df.shift(1)).filln

使用pandas数据帧,我想取第I行中的每一行,并将其除以第I-1行。我想使用矢量化(即,循环为否)

e、 g.如果我有以下数据帧:

1      10  
2      20  
8      160  
32     480 
我最终会:

1      10   
2       2   
4       8  
4       3
注意:除法运算使用旧表值,而不是更新的值


另外,很抱歉格式不好

使用、
div
shift
fillna

df.div(df.shift(1)).fillna(df).astype(int)
输出:

   A   B
0  1  10
1  2   2
2  4   8
3  4   3

这是一个很好的表格格式化程序!非常有用-我相信我现在会经常使用它。谢谢。斯科特,这是一个非常聪明的答案。我以前从来没有梦想过这样的轮班操作。谢谢大家!@谢谢你。快乐编码!