本次的Python学习教程涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入、数据清洗、预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作。

生成数据表

常见的生成数据表的方法有两种,第一种是导入外部数据,第二种是直接写入数据。Excel中的“文件”菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。

Python

支持从多种类型的数据导入。在开始使用Python进行数据

导入前需要先导入pandas库,为了方便起见,我们也同时导入numpy

库.

import numpy as np

import pandas as pd

导入外部数据

df=pd.DataFrame(pd.read_csv('name.csv',header=1))

df=pd.DataFrame(pd.read_Excel('name.xlsx'))c

里面有很多可选参数设置,例如列名称、索引列、数据格式等

直接写入数据

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],

"date":pd.date_range('20130102', periods=6),

"city":['Beijing ', 'SH', ' guangzhou ', 'Shen

zhen', 'shanghai', 'BEIJING '],

"age":[23,44,54,32,34,32],

"category":['100-A','100-B','110-A','110-C','2

10-A','130-F'],

"price":[1200,np.nan,2133,5433,np.nan,4432]},

columns =['id','date','city','category','age',

'price'])

数据表检查

数据表检查的目的是了解数据表的整体情况,获得数据表的关键信息、数据的概况,例如整个数据表的大小、所占空间、数据格式、是否有

空值和重复项和具体的数据内容,为后面的清洗和预处理做好准备。

1.数据维度(行列)

Excel中可以通过CTRL+向下的光标键,和CTRL+向右的光标键

来查看行号和列号。Python中使用shape函数来查看数据表的维度,也就是行数和列数。

df.shape

2.数据表信息

使用info函数查看数据表的整体信息,包括数据维度、列名称、数据格式和所占空间等信息。

#数据表信息

df.info()

RangeIndex: 6 entries, 0 to 5

Data columns (total 6 columns):

id 6 non-null int64

date 6 non-null datetime64[ns]

city 6 non-null object

category 6 non-null object

age 6 non-null int64

price 4 non-null float64

dtypes: datetime64[ns](1), float64(1), int64(2), object(2)

memory usage: 368.0+ bytes

3.查看数据格式

Excel中通过选中单元格并查看开始菜单中的数值类型来判断数

据的格式。Python中使用dtypes函数来返回数据格式。

Dtypes是一个查看数据格式的函数,可以一次性查看数据表中所

有数据的格式,也可以指定一列来单独查看

#查看数据表各列格式

df.dtypes

id int64

date datetime64[ns]

city object

category object

age int64

price float64

dtype: object

#查看单列格式

df['B'].dtype

dtype('int64')

4.查看空值

Excel中查看空值的方法是使用“定位条件”在“开始”目录下的“查找和选择”目录.

Isnull是Python中检验空值的函数

#检查数据空值

df.isnull()

#检查特定列空值

df['price'].isnull()

5.查看唯一值

Excel中查看唯一值的方法是使用“条件格式”对唯一值进行颜色

标记。

Python中使用unique函数查看唯一值。

#查看city列中的唯一值

df['city'].unique()

array(['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', '

BEIJING '], dtype=object)

6.查看数据表数值

Python中的Values函数用来查看数据表中的数值

#查看数据表的值

df.values

7.查看列名称

Colums函数用来单独查看数据表中的列名称。

#查看列名称

df.columns

Index(['id', 'date', 'city', 'category', 'age', 'price'], dtype='

object')

8.查看前10行数据

Head函数用来查看数据表中的前N行数据

#查看前3行数据

df.head(3)

9.查看后10行数据

Tail行数与head函数相反,用来查看数据表中后N行的数据

#查看最后3行

df.tail(3)

数据表清洗

本次的Python学习教程介绍对数据表中的问题进行清洗,包括对空值、大小写问题、数据格式和重复值的处理。

1.处理空值(删除或填充)

Excel中可以通过“查找和替换”功能对空值进行处理

Python中处理空值的方法比较灵活,可以使用 Dropna函数用来删除数据表中包含空值的数据,也可以使用fillna函数对空值进行填充。

#删除数据表中含有空值的行

df.dropna(how='any')

也可以使用数字对空值进行填充

#使用数字0填充数据表中空值

df.fillna(value=0)

使用price列的均值来填充NA字段,同样使用fillna函数,在要填充的数值中使用mean函数先计算price列当前的均值,然后使用这个均值对NA进行填充。

#使用price均值对NA进行填充

df['price'].fillna(df['price'].mean())

Out[8]:

0 1200.0

1 3299.5

2 2133.0

3 5433.0

4 3299.5

5 4432.0

Name: price, dtype: float64

2.清理空格

字符中的空格也是数据清洗中一个常见的问题

#清除city字段中的字符空格

df['city']=df['city'].map(str.strip)

3.大小写转换

在英文字段中,字母的大小写不统一也是一个常见的问题。

Excel中有UPPER,LOWER等函数,Python中也有同名函数用来解决

大小写的问题。

#city列大小写转换

df['city']=df['city'].str.lower()

4.更改数据格式

Excel中通过“设置单元格格式”功能可以修改数据格式。

Python中通过astype函数用来修改数据格式。

#更改数据格式

df['price'].astype('int')

0 1200

1 3299

2 2133

3 5433

4 3299

5 4432

Name: price, dtype: int32

5.更改列名称

Rename是更改列名称的函数,我们将来数据表中的category列更改为category-size。

#更改列名称

df.rename(columns={'category': 'category-size'})

6.删除重复值

Excel的数据目录下有“删除重复项”的功能

Python中使用drop_duplicates函数删除重复值

df['city']

0 beijing

1 sh

2 guangzhou

3 shenzhen

4 shanghai

5 beijing

Name: city, dtype: object

city列中beijing存在重复,分别在第一位和最后一位

drop_duplicates()函数删除重复值

#删除后出现的重复值

df['city'].drop_duplicates()

0 beijing

1 sh

2 guangzhou

3 shenzhen

4 shanghai

Name: city, dtype: object

设置keep='last‘’参数后,与之前删除重复值的结果相反,第一位

出现的beijing被删除

#删除先出现的重复值

df['city'].drop_duplicates(keep='last')

1 sh

2 guangzhou

3 shenzhen

4 shanghai

5 beijing

Name: city, dtype: objec

7.数值修改及替换

Excel中使用“查找和替换”功能就可以实现数值的替换

Python中使用replace函数实现数据替换

附#数据替换

df['city'].replace('sh', 'shanghai')

0 beijing

1 shanghai

2 guangzhou

3 shenzhen

4 shanghai

5 beijing

Name: city, d

篇幅有限,剩下的函数总结会在下一章Python学习教程中继续为大家更新!不会等太久!

python excel 教程推荐_Python学习教程:从Excel到Python最常用的32个P相关推荐

  1. python的dropna函数_Python学习教程:从Excel到Python最常用的32个Pandas函数(一)

    原标题:Python学习教程:从Excel到Python最常用的32个Pandas函数(一) 本次的Python学习教程涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据 ...

  2. python 3 字典排序_Python学习教程实用技法:通过公共键对字典列表排序—itemgetter...

    Python学习教程实用技法:通过公共键对字典列表排序-itemgetter 前言:我们有一个字典列表,想根据一个或多个字典中的值对列表进行排序. 利用operator模块中的itemgetter函数 ...

  3. 我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些

    有多少伙伴是因为一句'人生苦短,我用Python'就要去学Python的?之前也大家更新过Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Pytho ...

  4. python复制列表元素_Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解...

    Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解 概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅 ...

  5. python资本市场财务数据分析_Python学习教程:用Python进行金融市场文本数据的情感计算...

    今天我们的Python学习教程找点财经类新闻文本数据用Python来做点简单的情感分析. 一.tushare介绍 tushare库是目前比较流行的开源免费的经济数据库,tushare有普通版和高级版, ...

  6. python版本升级后编译_python学习笔记(7)--python版本升级

    本节点标题 1.python升级 1.1.查看原版本 1.2.下载新版本的python 1.3.解压缩 以及编译 1.4.覆盖原来的python链接 1.5.修复yum =============== ...

  7. 有没有好的python教程推荐_Python Pandas教程推荐,全网最佳,没有之一

    https://zhuanlan.zhihu.com/p/29576732​zhuanlan.zhihu.com 简介 下面内容为github作者的Pandas学习笔记,目前是我看到最好的资料,没有之 ...

  8. python速成一小时_Python学习|一小时快速入门python(一)

    1. hello world print('Hello World!')`--># 输出:Hello World! 2.基本数据类型 变量:python的变量直接输入不需要声明 a=5# pri ...

  9. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  10. python学生名片系统_Python入门教程完整版400集(懂中文就能学会)快来带走

    如何入门Python?权威Python大型400集视频,学了Python可以做什么? 小编今天给大家分享一套高老师的python400集视频教程,里面包含入门进阶,源码,实战项目等等,,不管你是正在学 ...

最新文章

  1. CPU上跑到 100 fps 的高精度PyTorch人脸特征点检测库
  2. ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介...
  3. SLG手游Java服务器数据管理方案
  4. Selenium + Grid + Testng并发运行用例
  5. Jsp表单提交数据乱码问题
  6. C# 8.x 先睹为快
  7. JavaFX官方教程(八)之JavaFX中的动画和视觉效果
  8. Kali渗透测试——WOL-E
  9. 大数据可视化模板、模板框架、动态控件、可视化大数据原型、监控平台、图表元件库、数据看板、驾驶舱、统计图表、大数据驾驶舱、大屏展示、联勤治理、旅游、运输、车辆、校园、舆情、信息监测看板原型
  10. 转 基于.NET平台的分层架构实战
  11. 基于springboot在线租车管理系统
  12. java eofexception_EOFException异常详解
  13. 【JY】基于OpenSees和SAP2000静力动力计算案例分析
  14. 桌面图标有蓝底怎么去掉,去掉桌面图标
  15. 2012面试备忘录(夏季南京)
  16. 510cms渗透过程,挂马并提权
  17. Unity下如何实现RTMP或RTSP流播放和录制
  18. 《大象--Thinking in UML》已经发售!简介及目录
  19. 星梦小组KTV点歌系统简介
  20. java pdf 签名 修改_java – 替换PDF中的签名内容

热门文章

  1. Hadoop学习笔记(一):MapReduce工作机制
  2. 机器人收集 + Keypose 算法:准确估计透明物体的 3D 姿态
  3. 如何正确地使用arXiv平台
  4. 杭电acm2028 Lowest Common Multiple Plus
  5. 【洛谷 1027】双重回文数
  6. Nginx教程1:基本概念
  7. 【linux】centos6.9通过virtualenv安装python3.5
  8. linux学习笔记(13)终端清屏
  9. 视频码率,帧率和分辨率的联系与差别
  10. 程序员必知3大查找(转)