天天看点

diff函数

OUTLINE

  • 问题场景
  • 解决方案

问题场景

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

diff函数

解决方案

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

在numpy中:

调用方法:

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
# 输出:
           
diff函数
data.diff(2)
# 输出:
           
diff函数
data.diff(-1)
# 输出:
           
diff函数