原标题:Python学习教程:从Excel到Python最常用的32个Pandas函数(一)

本次的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的dropna函数_Python学习教程:从Excel到Python最常用的32个Pandas函数(一)相关推荐

  1. pythonurllib爬虫教学_Python学习教程:这里是Python爬虫的起点,抢占资源啦

    原标题:Python学习教程:这里是Python爬虫的起点,抢占资源啦 今天跟大家出的这篇文章,是从爬虫的起点开始讲起,这里的Python学习教程,一篇文章带你贯穿爬虫始末!之前也够跟大家出过相关的P ...

  2. python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

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

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

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

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

  5. format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

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

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

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

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

  8. python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏

    python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...

  9. python安装界面翻译_Python新手教程:40行python代码写一个桌面翻译器

    这是我做出来的粗略版本,后面的UI设计就看大家的艺术细胞了 Python资源共享群:484031800 我们进行制作软件所需要的模板库,首先要进行引用. # json requests thinter ...

最新文章

  1. TMS Scripter importtool的使用
  2. python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...
  3. redis灵魂拷问:19图+11题带你面试通关
  4. 人大经济论坛:统计学的一些经典教材
  5. java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...
  6. JavaFX UI控件教程(三)之Label
  7. 《给年青数学人的信》:为何学数学?
  8. 转:6.1海量数据处理
  9. EDG夺冠!每个队员获赠一套房:背后老板成最大赢家
  10. 【Linux】C语言——贪吃蛇
  11. Mac 软件汉化教程(一)
  12. 佰马科技参加第16届中国道路照明论坛,助力智慧灯杆建设
  13. 【uniapp】 H5微信授权登录
  14. matlab-gaussmf正态曲线的绘制
  15. 经验条件熵公式的推导
  16. 动手学数据分析(五)- 模型建立和评估
  17. 宝塔 php守护 1.2,宝塔面板的Supervisor (进程管理利器) 使用说明 – 附Nginx守护教程...
  18. VB.NET转C# Constants.vbCrLf替换
  19. 力扣每日一题(九——保持城市天际线)
  20. 程序员复工后被裁,600万房21000房贷无力偿还,给年轻人3点忠告

热门文章

  1. 肾内出现囊肿危险吗?
  2. 操作系统实验·Linux进程通信与内存管理
  3. Socket通信原理和实践
  4. 现场审计实施系统--导入财务数据后进行调整
  5. 项目经理如何即兴发言
  6. xspoed在高版本SDK安装问题解决
  7. php讲师兼职招聘语实训心得,兼职讲师培训的心得体会范文
  8. \-:`--.: 新闻_大新闻-更新#1
  9. 冰shader_干货 | UnityShader Demo01之冰块材质
  10. 运动健康类APP排行:Keep第一、悦动圈第二、小米运动第三