banner
大数据平台>大数据技术与应用>使用python进行数据分析

像Excel一样使用python进行数据分析(1)

作者: afenxi来源: afenxi时间:2017-01-29 10:02:07

摘要:本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作。

像Excel一样使用python进行数据分析(1)-数据分析网

Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作。在Python中pandas库用于数据处理 ,我们从1787页的pandas官网文档中总结出最常用的36个函数,通过这些函数介绍如何通过python完成数据生成和导入,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类 汇总,透视等最常见的操作。

文章内容共分为9个部分。这是第一篇,介绍前3部分内容,数据表生成,数据表查看,和数据清洗。以下是《像Excel一样使用python进行数据分析》系列文章的目录。

像Excel一样使用python进行数据分析(1)-数据分析网 1, 生成数据表

第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。 像Excel一样使用python进行数据分析(1)-数据分析网 python支持从多种类型的数据导入。在开始使用python进行数据导入前需要先导入pandas库,为了方便起见,我们也同时导入numpy库。

1 2 import numpy as np import pandas as pd

 

导入数据表

下面分别是从excel和csv格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考pandas的 官方文档。

1 2 df=pd.DataFrame(pd.read_csv(name.csv,header=1)) df=pd.DataFrame(pd.read_excel(name.xlsx))

 

创建数据表

另一种方法是通过直接写入数据来生成数据表,excel中直接在单元格中输入数据就可以,python中通过下面的代码来实现。生成数据表的函数是pandas库中的DateFrame函数,数据表一共有6行数据,每行有6个字段。在数据中我们特意设置了一些NA值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以DataFrame的简称df来命名数据表。

1 2 3 4 5 6 7 df = pd.DataFrame() 像Excel一样使用python进行数据分析(1)-数据分析网

 

删除重复值

很多数据表中还包含重复值的问题,Excel的数据目录下有“删除重复项”的功能,可以用来删除数据表中的重复值。默认Excel会保留最先出现的数据,删除后面重复出现的数据。 像Excel一样使用python进行数据分析(1)-数据分析网 Python中使用drop_duplicates函数删除重复值。我们以数据表中的city列为例,city字段中存在重复值。默认情况下drop_duplicates()将删除后出现的重复值(与excel逻辑一致)。增加keep=’last’参数后将删除最先出现的重复值,保留最后的值。下面是具体的代码和比较结果。

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

1 2 3 4 5 6 7 8 df[city] 0      beijing 1           sh 2    guangzhou 3     shenzhen 4     shanghai 5      beijing Name: city, dtype: object

使用默认的drop_duplicates()函数删除重复值,从结果中可以看到第一位的beijing被保留,最后出现的beijing被删除。

1 2 3 4 5 6 7 8 #删除后出现的重复值 df[city].drop_duplicates() 0      beijing 1           sh 2    guangzhou 3     shenzhen 4     shanghai Name: city, dtype: object

设置keep=’last‘’参数后,与之前删除重复值的结果相反,第一位出现的beijing被删除,保留了最后一位出现的beijing。

1 2 3 4 5 6 7 8 #删除先出现的重复值 df[city].drop_duplicates(keep=last) 1           sh 2    guangzhou 3     shenzhen 4     shanghai 5      beijing Name: city, dtype: objec

 

数值修改及替换

数据清洗中最后一个问题是数值修改或替换,Excel中使用“查找和替换”功能就可以实现数值的替换。

像Excel一样使用python进行数据分析(1)-数据分析网

Python中使用replace函数实现数据替换。数据表中city字段上海存在两种写法,分别为shanghai和SH。我们使用replace函数对SH进行替换。

1 2 3 4 5 6 7 8 9 #数据替换 df[city].replace(sh, shanghai) 0      beijing 1     shanghai 2    guangzhou 3     shenzhen 4     shanghai 5      beijing Name: city, dtype: object

在第二篇文章中我们将继续介绍4-6部分的内容,分别为数据预处理,数据提取和数据筛选三部分的问题。感兴趣的朋友请继续关注。

banner
看过还想看
可能还想看
最新文章
Yonghong Z-Suite一站式大数据分析平台 —— 以卓越的数据技术为客户创造价值,实现客户成功。