dask.dataframe.DataFrame.diff
dask.dataframe.DataFrame.diff¶
- DataFrame.diff(periods=1, axis=0)¶
元素的第一次离散差分。
此文档字符串是从 pandas.core.frame.DataFrame.diff 复制而来的。
Dask 版本可能存在一些不一致性。
备注
Pandas 目前使用
object
-dtype 列来表示带有缺失值的布尔数据。这可能会导致布尔特定操作(如|
)出现问题。为了启用布尔特定操作,尽管会牺牲与 pandas 不匹配的元数据,请在shift
之后使用.astype(bool)
。计算DataFrame元素与DataFrame中另一个元素的差异(默认是与前一行的元素比较)。
- 参数
- 时期int, 默认值为 1
用于计算差异的周期数,接受负值。
- 轴{0 或 ‘index’, 1 或 ‘columns’}, 默认 0
按行 (0) 或列 (1) 取差值。
- 返回
- DataFrame
序列的第一次差分。
参见
DataFrame.pct_change
给定周期数内的百分比变化。
DataFrame.shift
通过可选的时间频率,将索引按所需周期数进行偏移。
Series.diff
对象的第一次离散差分。
注释
对于布尔型数据类型,这使用
operator.xor()
而不是operator.sub()
。结果是根据 DataFrame 中的当前数据类型计算的,但结果的数据类型始终为 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
与前第三行的差异
>>> 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