Python 数据帧前瞻值
使用熊猫数据帧执行此操作的最佳方法是什么?我想循环一个数据帧,计算当前值和下一个值之间的差值,这个差值与当前值不同。 例如: [13, 13, 13, 14, 13, 12] 将创建一个具有此属性的新列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).
[-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或其他什么我正在想你在做什么,但是哇,这真的很酷。谢谢。如果我想用老式的方式做两个环呢。我如何写这两个循环。我只是想知道熊猫数据帧语法,而不是实际逻辑的优化。顺便说一句,这真是太聪明了。我想知道你在做什么,但是哇,这真的很酷。谢谢。如果我想用老式的方式做两个环呢。我如何写这两个循环。我只是想知道熊猫数据帧语法,而不是实际逻辑的优化。顺便说一句,这真的很聪明