对比excel,学习pandas实现数据表检查的9种方法

↑↑↑关注后"星标"简说Python

人人都可以简单入门Python、爬虫、数据分析 简说Python推荐 
来源:python数据分析之禅作者:小dull鸟

最近打算做一个“对比excel,学习pandas”系列,内容包括包括数据检查、数据清洗、数据预处理、数据提取、数据筛选、数据汇总、数据统计等7个方面,帮助读者更好的掌握这两大主流数据分析工具,今天是第一篇--《对比excel,pandas实现数据表检查的9种方式》

我们在用python做数据处理的时候,通常数据量都比较大,用肉眼无法直观的了解数据的整体情况,必须先用pandas给数据做一个全身“体检”,为后面的数据清洗和预处理做好准备。下面给大家介绍9种数据检查的9种方式:

1.查看数据的行数和列数

excel中可以通过ctrl+shift+向下箭头查看行数,通过ctrl+shift+向右箭头查看列数。

pandas是用shape函数查看数据表的行数和列数:

import pandas as pd
data=pd.read_excel('超市运营数据模板.xlsx')
data.shape
(3478, 8)
返回的结果表示数据表有3478行,8列

2.查看数据的详细信息

info函数可以查看数据表的纬度、列名称、数据类型、非空值和内存使用情况等信息:

data.info()
<class 'pandas.core.frame.DataFrame'>RangeIndex: 3478 entries, 0 to 3477Data columns (total 8 columns): #   Column  Non-Null Count  Dtype         ---  ------  --------------  -----          0   商品ID    3478 non-null   int64          1   类别ID    3478 non-null   int64          2   门店编号    3478 non-null   object         3   单价      3478 non-null   float64        4   销量      3478 non-null   float64        5   订单ID    3478 non-null   object         6   日期      3478 non-null   datetime64[ns] 7   时间      3478 non-null   object        dtypes: datetime64[ns](1), float64(2), int64(2), object(3)memory usage: 217.5+ KB

3.查看数据格式

excel通过选中数据,在开始菜单中的数值类型来判断数据的格式:

pandas使用dtypes函数来返回数据格式。可以一次性查看所有数据的格式,也可以指定一列单独查看:

data.dtypes
商品ID             int64类别ID             int64门店编号            object单价             float64销量             float64订单ID            object日期      datetime64[ns]时间              objectdtype: object
结果返回了各列的数据类型

data['商品ID'].dtype
dtype('int64')

4.查看空值

excel中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位:

pandas中利用isnull函数检验空值,返回的结果是布尔值,可以对整个数据进行检查:

data.isnull()

也可以单独对某一列进行空值检查:

data['商品ID'].isnull()

5.查看唯一值

excel中查看唯一值的方法是使用条件格式对唯一值进行颜色标记,依次点击开始——条件格式——突出显示单元格规则——重复值:

python中使用unique函数查看唯一值,只能对数据表中的特定列进行检查,返回的是删除重复项后的结果,代码如下:

data['商品ID'].unique()
array([30006206, 30163281, 30200518, ..., 30026026, 30038941, 30206214],      dtype=int64)

6.查看数据表数值

pandas使用values函数查看数据表中的数值,以数组形式返回:
data.values
array([[30006206, 915000003, 'CDNL', ..., '20201003CDLG000210052759',        Timestamp('2011-01-03 00:00:00'), '09:56'],       [30163281, 914010000, 'CDNL', ..., '20201003CDLG000210052759',        Timestamp('2011-01-04 00:00:00'), '09:56'],       [30200518, 922000000, 'CDNL', ..., '20201003CDLG000210052759',        Timestamp('2011-01-05 00:00:00'), '09:56'],       ...,       [30033854, 910000000, 'CDXL', ..., '20201003CDLG000510025149',        Timestamp('2020-07-09 00:00:00'), '11:17'],       [30206214, 910000000, 'CDXL', ..., '20201003CDLG000510025150',        Timestamp('2020-07-10 00:00:00'), '11:40'],       [30129510, 925090000, 'CDXL', ..., '20201003CDLG000510025151',        Timestamp('2020-07-11 00:00:00'), '11:50']], dtype=object)

7.查看列名称

pandas的columns函数用来单独查看数据表中的列名称

data.columns
Index(['商品ID', '类别ID', '门店编号', '单价', '销量', '订单ID', '日期', '时间'], dtype='object')

8.查看行名称

pandas的columns函数用来单独查看数据表中的列名称

data.index
RangeIndex(start=0, stop=3478, step=1)

9.查看前10行数据

pandas的head函数用来查看数据表中的前N行数据,可以自行设置行数,默认显示前10行:

#查看前9行
data.head(9)

10.查看后10行数据

与head相反的函数tail,用来查看数据表的后N行数据,用法与head一致:

#查看后9行
data.tail(9)

扫下方二维码添加我的私人微信,可以在我的朋友圈获取最新的Python学习资料,以及近期推文中的源码或者其他资源,另外不定期开放学习交流群,以及朋友圈福利(送书、红包、学习资源等)。



扫码查看我朋友圈
获取最新学习资源


学习更多:
整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了

点赞”传统美德不能丢 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值