pandas.DataFrame.diff # 数据框。diff (周期= 1 ,轴= 0 ) [来源] # 元素的第一个离散差分。 计算 DataFrame 元素与 DataFrame 中另一个元素相比的差异(默认为上一行中的元素)。 参数: 周期int,默认 1用于计算差异的偏移周期,接受负值。 轴{0 或 'index', 1 或 'columns'}, 默认 0对行 (0) 或列 (1) 求差。 返回: 数据框该系列的第一个区别。 也可以看看 DataFrame.pct_change给定周期数内的变化百分比。 DataFrame.shift使用可选的时间频率将索引移动所需的周期数。 Series.diff对象的第一个离散差异。 笔记 对于布尔数据类型,这使用operator.xor()而不是 operator.sub().结果是根据DataFrame中当前的dtype计算的,但是结果的dtype始终是float64。 例子 与上一行的差异 >>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6], ... 'b': [1, 1, 2, 3, 5, 8], ... 'c': [1, 4, 9, 16, 25, 36]}) >>> df a b c 0 1 1 1 1 2 1 4 2 3 2 9 3 4 3 16 4 5 5 25 5 6 8 36 >>> df.diff() a b c 0 NaN NaN NaN 1 1.0 0.0 3.0 2 1.0 1.0 5.0 3 1.0 1.0 7.0 4 1.0 2.0 9.0 5 1.0 3.0 11.0 与上一栏的差异 >>> df.diff(axis=1) a b c 0 NaN 0 0 1 NaN -1 3 2 NaN -1 7 3 NaN -1 13 4 NaN 0 20 5 NaN 2 28 与前 3 行的差异 >>> df.diff(periods=3) a b c 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN 3 3.0 2.0 15.0 4 3.0 4.0 21.0 5 3.0 6.0 27.0 与下一行的差异 >>> df.diff(periods=-1) a b c 0 -1.0 0.0 -3.0 1 -1.0 -1.0 -5.0 2 -1.0 -1.0 -7.0 3 -1.0 -2.0 -9.0 4 -1.0 -3.0 -11.0 5 NaN NaN NaN 输入数据类型溢出 >>> df = pd.DataFrame({'a': [1, 0]}, dtype=np.uint8) >>> df.diff() a 0 NaN 1 255.0