Hi,大家好,本期小编跟同学们聊聊如何利用python进行数据分析。
说到数据分析,分析方法五花八门,且应用场景各不相同,本篇文章不针对具体的分析方法进行说明,主要描述数据分析的基础——数据处理。
作为长年使用MY SQL的小编,入坑python的原因竟然是:需分析的数据量大且公司无法安装Navicat软件编辑MY SQL。
为了完成工作,小编“不得已”接触了python,并完成了当时第一个python程序–词云图。
随着时间的推移,小编渐入了python的坑,并总结了几个python的优点:
- 代码易获取:基于开源性-只要需求明确,公开渠道均可查询相关代码
- 上手较容易:基于简洁性-无需进行预处理,直接输入/输出语句即可
- 模块特方便:基于兼容性-可直接调用模块来编译,无需自己编写复杂代码
对了,需说明一下:无论环境、模块还是语句,python都是多种多样的,因此本篇文章只将小编常用的内容介绍给同学们此外,本文涉及的代码截图均来自windows操作系统的spyder编辑器
言归正传,小编将从两个方面介绍本文:
一是python基本介绍;
二是如何进行数据分析之数据处理。
01
python基本介绍
· 1 python 安装
首先,同学们需要安装开发环境及编辑器,比较常用的有anaconda与pychram。小编使用的anaconda自带的编辑器spyder,这里就不单独介绍了。
- 开发环境:anaconda
https://www.anaconda.com/download
- 编辑器:pycharm
https://www.jetbrains.com/pycharm
好啦,安装网址已经给同学们提供了,请同学们自行百度安装步骤,很简单的~
· 2 模块
若将开发环境比喻成空房子,那么模块就是各个屋子,只有先搭建好厨房,你才能进去做饭或拿餐具等。
Python中模块的用途为:
当重复实现某一特定功能时,无需编写相关代码,直接调用自己或第三方编好的代码即可。模块主要分为内置模块、第三方模块及自定义模块。
小编主要介绍第三方模块,因为。。。用的比较多啦~
第三方模块是指开源模块,既其他人已经将代码编译好免费给大家用的~
对于数据分析,比较常用的模块如下:
-
Pandas:基于数据形式为dataframe,可对数据进行结构化处理,数据导入等
-
Numpy:支持多维数组的运算,处理统一的数值数组等
-
Datatime:主要用于处理时间,可转换为时间类型,并进行时间差运算等
-
Matplotlib:主要用于绘图,如分布图、折线图等
注意!第三方模块无法直接调用,**需要先。。。安装!**这点很重要,同学们一定要注意~
小编一般使用pip命令安装模块,运行cmd后输入pip install 模块名称,成功后显示success,同学们可在安装后检查一下 ,确保模块被成功安装。
当然,安装及调用时应基于最小化原则,既按需调用。若像小编一样使用anaconda开发环境的话,大部分常用模块已被安装,直接调用即可,非常方便。
· 3 数据类型
python中的数据类型多种多样,我们只有真正定义好它们,才能实现有效的数据分析。
Python中共有六大基本类型:
- 数字:整数型(int)、浮点型(float)及复数型(complex)
- 字符串(str):‘a’, ‘‘let’s go’’
- 元组:(123,‘ABC’,'狗‘)
- 列表:[123,‘ABC’,'狗‘]
- 字典:{‘name’:‘dog’,‘年龄’:24}
- 集合:{‘Google’, ‘Baidu’}
前三种类型中的数据是不可修改,后三种是可以修改的~
小编想要提醒同学们,数据分析时,一定要确保数据类型定义的准确性,因为这是保证分析结果正确的前提。比如,对字符串类型进行加减运算时,一定得不到我们想要结果!
02
如何进行数据分析之数据处理
· 1 明确需求
首先,同学们要对需求非常明确,在此基础上再一点点细化到为单一语句。因为小编认为使用python不能一口吃成胖子,也要由相关单一语句组合成一个完整命令。
比如领导让我统计A表哪些同学去过B表的地方,然后根据地方分别统计男女同学人数。小编利用思维导图整理出了分析步骤,如图所示:
(说个题外话:当梳理逻辑或框架时,推荐使用思维导图)
· 2 导入数据
当需求明确后,便需获取并导入原始数据,本文小编介绍直接导入的方法。
调用pandas模块,直接读取excel、csv、text等文件
- excel:
- csv&text:
若原始数据存储在数据库中,可调用pymysql模块来获取:
当然,导入方式多种多样,只不过导入方式、导入结果与pandas模块不一样。比如numpy模块、os模块等。
· 3 了解数据
当数据导入后,相信有些同学认为可以直接进行数据分析了!小编提醒同学们,千万不要!!
首先我们要做的是了解原始数据。了解指的是明确数据基本情况,如数据含义、导入是否正确、总行数、数据类型、是否存在空数据、是否存在缺省值等。
俗话说“知己知彼,方能百战百胜”,只有真正了解数据,才能利用好它,否则由于原始数据的完整性、准确性会存在问题,将导致python报错率根本停不下来。
那么,小编来介绍几种了解数据的方法
- 查看表头:print(data.columns)
- 查看数据类型:print(data.dtypes)
- 查看几行几列:print(data.shape)
- 查看几行数据:print(data.head())
了解数据的方式多种多样,目的只有一个“保证导入数据的完整性及准确性”。
· 4 数据清洗
小编相信,世界上很少存在完美数据,多少都会出现点问题,因此就需要同学们进行数据清洗工作,这里的清洗不是删除,而是将原始数据“清洗”为我们需要的形式。
· 5 数据处理
本节小编将用一个示例说明相关语句的使用,共涉及两张data表:
Data1表:
Data2表:
下面,小编介绍一些比较常用的数据处理语句
- 选择某行/某列
(PS:相信同学们都看到了#。。。#这部分内容,这是注释,为了解释语句含义,小编建议写python时,可适当加注释,这样方便自己或他人理解语句含义,当然语句前加#时,python不会运行该内容)
- 新增一列
- 删除某行/某列
- 修改列名
-
修改数据
-
根据主键,关联data1&data2表
(ps:关联前,同学们一定要注意表中数据是否有重复,建议去重否则会出现两条一模一样的记录,这就是传说中的笛卡尔积;对于未关联字段,会显示为NA)
- 根据某个字段,对相关数据求和、计数等
· 6 数据导出
当数据处理后,可以先将数据导出到本地,小编主要介绍导成EXCEL的方法
- 结果导成单独文档
data.to_excel(‘C:/Users /Desktop/data.xls’,index=True,header=True)
- 结果放到EXCEL不同sheet页
writer=pd.ExcelWriter(r’C:/Users/Desktop/data.xls’',index=True,header=True)
data1.to_excel(writer, ‘sheet1’)
data2.to_excel(writer, ‘sheet2’)
writer.save()
writer.close()
-END-
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!
👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)
👉Python学习大礼包👈
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python面试刷题👈
👉Python副业兼职路线👈
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取或者保存图片到wx扫描二v码免费领取 【保证100%免费
】
👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享](安全链接,放心点击)