为帮助学习pandas,特意从和鲸社区中提炼出120道经典数据处理常见操作例题,从基础入门到进阶来更快速、更专业的角度理解pandas。主要包括:

  • Pandas基础
  • Pandas进阶
  • 金融数据处理
  • NumPy科学计算
  • 一些补充

(https://www.heywhale.com/mw/project/5ef96ce863975d002c95fd8a/content)

原始数据:

import pandas as pd import numpy as np import re import time data=pd.read_excel(r'C:UsershuatianDesktopPython_testpython_120_test_data.xlsx') data.head().T

数据理解:

查看数据数量:data.shape

data.shape

如上图显示,数据有20行,50列。并利用data.info()进一步了解数据,每列数据是否有空值,数据类型,数据大小等

根据isnull().sum(),查看所有空值的列

data_col=data.isnull().sum() data_col[data_col>0]

需求描述:

现有一列float类型的数据,在我们的测试数据中是“salary”列,需求是:计算前一行与后一行数据的差值,并添加到原始数据中。

代码实现:

本次案例选择了DataFrame.diff()函数实现前一行与后一行数据的差值

data['salary_diff']=data['salary'].diff()

上面案例是数值类型计算得到的结果,那么如果是时间呢?前一行时间数据与后一行时间数据的差值!!!

data['createTime_diff']=data['createTime'].diff()

测试diff()函数得到前一行与后一行时间的差值,很有意思的是:当后一行时间早于前一行时间时,计算出的结果为-1days +时间差。注意注意!!!

DataFrame.diff()函数:是用来将数据进行某种移动之后与原数据进行比较得出的差异数据

DataFrame.diff(periods=1, axis=0)

即默认period=1,表示与前一行数据元素的差异

参数:
periods:移动的幅度,int类型,默认值为1。

axis:移动的方向,{0 or ‘index’, 1 or ‘columns’},如果为0或者’index’,则上下移动,如果为1或者’columns’,则左右移动。
返回值 :

DataFrame类型

总结

计算前一行与后一行数据的差值。很有意思的一个案例,在业务实验中很常见的,在python中利用dataframe.diff()函数很容易实现此功能。

#python#

#我要上头条#