diff函数

OUTLINE

  • 问题场景
  • 解决方案

问题场景

假设我有一份操作日志数据,其中一个特征是操作app的时间,时间结构譬如“2018-03-13 23:26:19”,我想知道上一次操作跟下一次操作的间隔时间是多少?

解决方案

关于某列或者某行数据的差分自然要想到python中的diff函数,无论是在pandas中还是在numpy里面都可以直接调用。

在numpy中
调用方法

numpy.diff(a, n=1,axis=-1)

a 表示需要进行差分操作的数据
n 代表执行几次差值
axis:默认是-1。

在pandas中
调用方法

dataframe.diff(periods,axis)

dataframe:可以是直接对dataframe结构进行diff,也可以是Series,另外还可以是进行聚合或者其他操作之后的Series
periods:表示移动的幅度。它是任意整数,如果是想让数据统一向下移动n个periods,则n为正,如果是想让数据向上移动n个periods,则n为负
axis:表示参考轴。如果axis=0,则是进行行间的移动差分操作,如果axis=1,则进行列间的移动差分操作。

例子

import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(low=1,high=10,size=(4,1)))
data
# 输出:

data.diff(2)
# 输出:

data.diff(-1)
# 输出:

猜你喜欢

转载自blog.csdn.net/qq_32618817/article/details/80653841