Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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_Dataframe - Fatal编程技术网

Python 数据帧前瞻值

Python 数据帧前瞻值,python,pandas,dataframe,Python,Pandas,Dataframe,使用熊猫数据帧执行此操作的最佳方法是什么?我想循环一个数据帧,计算当前值和下一个值之间的差值,这个差值与当前值不同。 例如: [13, 13, 13, 14, 13, 12] 将创建一个具有此属性的新列 [-1,-1,-1,1,1]使用diff计算差值,然后用下一个非零值回填0,怎么样: import pandas as pd import numpy as np df = pd.DataFrame({"S": [13, 13, 13, 14, 13, 12]}) df.S.diff(-1).

使用熊猫数据帧执行此操作的最佳方法是什么?我想循环一个数据帧,计算当前值和下一个值之间的差值,这个差值与当前值不同。 例如: [13, 13, 13, 14, 13, 12] 将创建一个具有此属性的新列
[-1,-1,-1,1,1]

使用
diff
计算差值,然后用下一个非零值回填0,怎么样:

import pandas as pd
import numpy as np
df = pd.DataFrame({"S": [13, 13, 13, 14, 13, 12]})

df.S.diff(-1).replace(0, np.nan).bfill()  # replace zero with nan and apply back fill.

# 0    -1
# 1    -1
# 2    -1
# 3     1
# 4     1
# 5   NaN
# Name: S, dtype: float64

如何使用
diff
计算差值,然后用下一个非零值回填0:

import pandas as pd
import numpy as np
df = pd.DataFrame({"S": [13, 13, 13, 14, 13, 12]})

df.S.diff(-1).replace(0, np.nan).bfill()  # replace zero with nan and apply back fill.

# 0    -1
# 1    -1
# 2    -1
# 3     1
# 4     1
# 5   NaN
# Name: S, dtype: float64

为什么12之后没有值时12会有-1?@Psidom你说得对,我更正了。最后一个可以是Nan或其他任何东西为什么12之后没有值时12会有-1?@Psidom你是对的,我更正了它。最后一个可能是Nan或其他什么我正在想你在做什么,但是哇,这真的很酷。谢谢。如果我想用老式的方式做两个环呢。我如何写这两个循环。我只是想知道熊猫数据帧语法,而不是实际逻辑的优化。顺便说一句,这真是太聪明了。我想知道你在做什么,但是哇,这真的很酷。谢谢。如果我想用老式的方式做两个环呢。我如何写这两个循环。我只是想知道熊猫数据帧语法,而不是实际逻辑的优化。顺便说一句,这真的很聪明