>>> pd.DataFrame([3,4,5], dtype='int64').diff()
0
0 NaN
1 1.0
2 1.0
我本希望两次不转换数据类型,是否可能?
答案 0 :(得分:1)
是的,如果需要,您可以使用np.diff
-
.Value
。numpy
(diff
)计算沿给定轴的第n个离散差值。
第一个区别是
a, n=1, axis=-1
沿着。{1}} 给定轴,通过使用diff计算更高的差异 递归。
out[n] = a[n+1] - a[n]
请注意,如果不引入NaN,则无法将其分配回原始数据帧,并且NaN的类型为>>> df
A B
0 1 4
1 2 5
2 3 6
>>> np.diff(df.values, axis=0)
array([[1, 1],
[1, 1]])
# or as in your example:
>>> np.diff(pd.DataFrame([3,4,5], dtype='int64')[0])
array([1, 1], dtype=int64)
,这意味着您的结果将自动强制转换为浮点数。