为帮助学习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#
#我要上头条#
