如何使用pandas.diff来区分int64

时间:2017-11-30 01:07:30

标签: python pandas

>>> pd.DataFrame([3,4,5], dtype='int64').diff()
     0
0  NaN
1  1.0
2  1.0

我本希望两次不转换数据类型,是否可能?

1 个答案:

答案 0 :(得分:1)

是的,如果需要,您可以使用np.diff -

  

.Valuenumpydiff

     

计算沿给定轴的第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) ,这意味着您的结果将自动强制转换为浮点数。