Python有趣|数据分析三板斧
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者: 罗罗攀
公众号: 罗罗攀
前言
天下武功中,哪个是最简单,最实用的了?那当然是程咬金的三板斧。传说中,程咬金晚上睡觉,梦见一老神仙,教了他三十六式板斧,这套功夫威力极大,而且招式简单,十分适合程咬金,但是程咬金醒来之后就只记住了三招,便有了这三板斧。就是这简单的三板斧,帮助李世民建立大唐江山。
这个教程将以简单,有效,实用为原则,让大家也能简单入门Python数据分析,学会这三板斧,让读者以后在学习数据分析的过程中,少走弯路。
Python数据分析流程
用Python做数据分析的优点就是,通过一个pandas库就能完成整个数据分析流程。简单的流程是,一读二看三处理四分析五展示,skr~。如下图所示。
PS:所有数据分析不以业务为依托,都是耍流氓~
读取数据
这里以全球星巴克的数据为例(https://www.kaggle.com/starbucks/store-locations),首先提出问题(前文说过要以业务为基础,这里我们只能提前定义几个感兴趣的问题),哪些国家星巴克店铺较多;哪些城市星巴克店铺较多;中国星巴克店铺分布情况。
首先通过read_csv读取数据,将文件转换为DataFrame格式,这样我们就可以在Python中进行处理。当然,pandas支持各种文件格式(read_excel,read_sql等等),做详细系列的时候逐一讲解。
import numpy as np
import pandas as pd
data = pd.read_csv('directory.csv')
data.head()
查看数据
我们可以通过describe和info方法对整个数据有个大概的情况。describe用于查看数值型数据的分布情况。
data.describe()
info方法用于查看各字段的数据类型,以及缺失情况,可用于后面的数据处理。这里我们根据问题,对country和city字段感兴趣,然后发现city缺失,所以后文中需要对其处理。
data.info()
数据处理
数据处理,其实就是我们常说的数据预处理(清洗数据),我们都知道,数据大部分情况下,是不干净的(或者不是我们预期的),我们需要处理,清洗,常出现的处理任务如下:
缺失值处理
异常值处理
重复值处理
多表处理
数据转换处理
这些都是需要根据实际情况来处理的。接着,我们就来处理星巴克数据,首先,查看Brand字段的唯一值,发现除了星巴克还有其他商品(可能是同一厂商的,屌丝表示对星巴克一无所知),我们只取星巴克的数据。
之前我们用info函数可以查看缺失值,但是我们常用isnull函数,这样可以清楚看出各字段的缺失值都有多少数据。
data.isnull().sum()
因为对city字段感兴趣,所以我们查看到底缺失的数据,是哪些,我们可以看出,大部分是埃及的国家(是不是这些国家没有划分城市,还是说没有录入数据)。
data[data['City'].isnull()]
接着,我们就处理这些缺失值。缺失值一般的处理方法有两种:
删掉
填充
这里我们选择就用国家字段填充到City字段上。
def fill_na(x):
return x
data['City'] = data['City'].fillna(fill_na(data['State/Province']))
data[data['Country']=='EG']
在数据分析中,我发现小美国的数据把台湾当做了国家,这我能忍么?直接重新赋值,换成了中国(中国一点都不能少)。整个的数据处理就到这了。
data['Country'][data['Country'] == 'TW'] = 'CN'
分析+可视化
在python数据分析中,我常常会把分析和可视化结合在一起,首先我们看看哪些国家星巴克店最多。
通过值计数,看看前10个国家。当然,数据分析中也会有各种方法:
值计数
数据分组聚合
透视表
country_count = data['Country'].value_counts()[0:10]
接着,我们就用pandas可视化(后两期再介绍功能更强大的可视化方法)。可以看出:美国和中国的是最多的。
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['simhei'] #指定默认字体
plt.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题
%matplotlib inline
country_count.plot(kind='bar')
接着同样的方法,看看哪些城市的星巴克最多?默默发现,上海市最多(竟然不是美国城市),果然中国市场很大嘛。
最后,筛选出中国地区的数据,看看中国城市的星巴克数量排名。上海最多,北京第二,上榜的也可以看出都是经济较发达的城市~
china_data = data[data['Country'] == 'CN']
city_count = china_data['City'].value_counts()[0:10]
city_count.plot(kind='barh')
今日互动
代码下载:https://github.com/panluoluo/crawler-analysis,下载完整数据和代码。
Python的爱好者社区历史文章大合集:
2018年Python爱好者社区历史文章合集(作者篇)
2018年Python爱好者社区历史文章合集(类型篇)
关注后在公众号内回复“ 课程 ”即可获取:
小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】
小编的Python的入门免费视频课程!
小编的Python的快速上手matplotlib可视化库!
崔老师爬虫实战案例免费学习视频。
陈老师数据分析报告扩展制作免费学习视频。
玩转大数据分析!Spark2.X + Python精华实战课程免费学习视频。
点击阅读原文直降20元包邮带走
Python有趣|数据分析三板斧相关推荐
- 数据分析python有趣分享_Python有趣|数据分析三板斧
前言 天下武功中,哪个是最简单,最实用的了?那当然是程咬金的三板斧.传说中,程咬金晚上睡觉,梦见一老神仙,教了他三十六式板斧,这套功夫威力极大,而且招式简单,十分适合程咬金,但是程咬金醒来之后就只记住 ...
- 【Python有趣打卡】利用pandas完成数据分析项目(二)——爬微信好友+分析
今天依然是跟着罗罗攀学习数据分析,原创:罗罗攀(公众号:luoluopan1) Python有趣|数据可视化那些事(二) 今天主要是学习pyecharts(http://pyecharts.org/# ...
- 牛!大佬原创的《Python 与数据分析 100 个案例》PDF 可以下载了
告别枯燥,通过学习有趣的小案例,扎实而系统的入门 Python.数据分析.机器学习,从菜鸟到大师,个人觉得这是很靠谱的一种方法. 通过一个又一个的案例,真正领悟 Python 的强大和简洁,真正做到高 ...
- python搞笑代码-python有趣代码
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 前言本月将更新八篇python有趣系列文章. 本系列通过多个有趣案例,讲解pyt ...
- python如何改变入参的值_从事数据分析3年后,发现用python入门数据分析这三本书必看!...
做数据分析为什么选择python? 为什么选择python来做数据分析?先来看一下用python做数据分析有什么优势 1.python在数据分析方面有非常专业的模块,很多常用功能,在做数据分析时非常方 ...
- 利用python进行数据分析——第十四章_数据分析案例
文章目录 本章中的数据文件可从下面的github仓库中下载 利用python进行数据分析(第二版) 一.从Bitli获取 1.USA.gov数据 1.1纯python时区计数 1.2使用pandas进 ...
- python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析
Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...
- Python有趣|寻找知乎最美小姐姐
前言 本月将更新八篇Python有趣系列文章.本系列通过多个有趣案例,讲解Python的玩法,其中包含如下内容,一一推进讲解. 爬虫 数据分析 机器学习 项目背景 最近知乎老是给我推送两个问答,一个是 ...
- 几个数据分析的小实例(《使用python进行数据分析》)
数据分析小实例 MovieLens 1M数据集 测量评价分歧 美国1880~2010年婴儿名字 分析名字趋势 计量命名多样性的增加 "最后一个字母"革命 男孩的名字变成女孩的名字( ...
最新文章
- 《Arduino实战》——第1章 你好Arduino
- (chap 2 简单的Http协议) HTTP方法(1)getput
- 23种设计模式C++源码与UML实现--迭代器模式
- linux上如何设置ssh免密登陆
- Linux 环境变量启动过程/配置文件的读取过程
- 字符串转整数,不使用任何C语言库函数
- python+pygame安装教程win8
- 压垮硬盘的最后一次备份
- matplotlib绘制图像设置中文宋体,英文新罗马,字体大小7.5,坐标轴刻度线内侧
- 为什么大家都在用在线客服系统?
- docker安装redis及验证
- 神奇的手指——可以取代”切水果“的清屏小软件
- 用户行为分析需求规格说明书
- 新华社报道,“大国重器”的企业背后的匠心智造与数字化转型之路
- 字体格式-等线-11
- 目录-卓有成效的管理者
- 计算机仿真实验结果的评价与分析,计算机仿真分析实验报告
- PDF怎么转换成excel免费?快收藏这几个方法
- 平面設計師需要瞭解的8個印刷知識
- Kylin集群部署及基本架构简介
热门文章
- 关于小米手机连接电脑,不能查看logcat日志的解决方法
- 2021世界人工智能大会开幕,百度飞桨荣获“SAIL之星”奖项
- 石墨文档编辑器用的是开源库吗?
- 红米 k30 pro 刷入欧版和小米钱包/商店
- 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词
- Logstash 原理分析/配置文件详解 时间 日期 时区 ip 反斜杠 grok在线地址 类型转换
- DNF史诗计算机最新版,dnf全职业史诗装备搭配计算器2020
- 怎么清理ug10注册表_最专业的软件卸载利器:不仅可卸载顽固软件,还能清理软件残留和注册表垃圾...
- 国际海运出口的操作流程是怎样的?
- Python数据分析与可视化(基础知识)