欢迎关注天善智能,我们是专注于商业智能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等等),做详细系列的时候逐一讲解。

  1. import numpy as np

  2. import pandas as pd

  3. data = pd.read_csv('directory.csv')

  4. data.head()

查看数据

我们可以通过describe和info方法对整个数据有个大概的情况。describe用于查看数值型数据的分布情况。

  1. data.describe()

info方法用于查看各字段的数据类型,以及缺失情况,可用于后面的数据处理。这里我们根据问题,对country和city字段感兴趣,然后发现city缺失,所以后文中需要对其处理。

  1. data.info()

数据处理

数据处理,其实就是我们常说的数据预处理(清洗数据),我们都知道,数据大部分情况下,是不干净的(或者不是我们预期的),我们需要处理,清洗,常出现的处理任务如下:

缺失值处理

异常值处理

重复值处理

多表处理

数据转换处理

这些都是需要根据实际情况来处理的。接着,我们就来处理星巴克数据,首先,查看Brand字段的唯一值,发现除了星巴克还有其他商品(可能是同一厂商的,屌丝表示对星巴克一无所知),我们只取星巴克的数据。

之前我们用info函数可以查看缺失值,但是我们常用isnull函数,这样可以清楚看出各字段的缺失值都有多少数据。

  1. data.isnull().sum()

因为对city字段感兴趣,所以我们查看到底缺失的数据,是哪些,我们可以看出,大部分是埃及的国家(是不是这些国家没有划分城市,还是说没有录入数据)。

  1. data[data['City'].isnull()]

接着,我们就处理这些缺失值。缺失值一般的处理方法有两种:

删掉

填充

这里我们选择就用国家字段填充到City字段上。

  1. def fill_na(x):

  2. return x

  3. data['City'] = data['City'].fillna(fill_na(data['State/Province']))

  4. data[data['Country']=='EG']

在数据分析中,我发现小美国的数据把台湾当做了国家,这我能忍么?直接重新赋值,换成了中国(中国一点都不能少)。整个的数据处理就到这了。

  1. data['Country'][data['Country'] == 'TW'] = 'CN'

分析+可视化

在python数据分析中,我常常会把分析和可视化结合在一起,首先我们看看哪些国家星巴克店最多。

通过值计数,看看前10个国家。当然,数据分析中也会有各种方法:

值计数

数据分组聚合

透视表

  1. country_count = data['Country'].value_counts()[0:10]

接着,我们就用pandas可视化(后两期再介绍功能更强大的可视化方法)。可以看出:美国和中国的是最多的。

  1. import matplotlib.pyplot as plt

  2. plt.rcParams['font.sans-serif'] = ['simhei'] #指定默认字体

  3. plt.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题

  4. %matplotlib inline

  5. country_count.plot(kind='bar')

接着同样的方法,看看哪些城市的星巴克最多?默默发现,上海市最多(竟然不是美国城市),果然中国市场很大嘛。

最后,筛选出中国地区的数据,看看中国城市的星巴克数量排名。上海最多,北京第二,上榜的也可以看出都是经济较发达的城市~

  1. china_data = data[data['Country'] == 'CN']

  2. city_count = china_data['City'].value_counts()[0:10]

  3. city_count.plot(kind='barh')

今日互动

代码下载:https://github.com/panluoluo/crawler-analysis,下载完整数据和代码。

Python的爱好者社区历史文章大合集

2018年Python爱好者社区历史文章合集(作者篇)

2018年Python爱好者社区历史文章合集(类型篇)

关注后在公众号内回复“ 课程 ”即可获取:

小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】

小编的Python的入门免费视频课程

小编的Python的快速上手matplotlib可视化库!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告扩展制作免费学习视频。

玩转大数据分析!Spark2.X + Python精华实战课程免费学习视频。

点击阅读原文直降20元包邮带走

Python有趣|数据分析三板斧相关推荐

  1. 数据分析python有趣分享_Python有趣|数据分析三板斧

    前言 天下武功中,哪个是最简单,最实用的了?那当然是程咬金的三板斧.传说中,程咬金晚上睡觉,梦见一老神仙,教了他三十六式板斧,这套功夫威力极大,而且招式简单,十分适合程咬金,但是程咬金醒来之后就只记住 ...

  2. 【Python有趣打卡】利用pandas完成数据分析项目(二)——爬微信好友+分析

    今天依然是跟着罗罗攀学习数据分析,原创:罗罗攀(公众号:luoluopan1) Python有趣|数据可视化那些事(二) 今天主要是学习pyecharts(http://pyecharts.org/# ...

  3. 牛!大佬原创的《Python 与数据分析 100 个案例》PDF 可以下载了

    告别枯燥,通过学习有趣的小案例,扎实而系统的入门 Python.数据分析.机器学习,从菜鸟到大师,个人觉得这是很靠谱的一种方法. 通过一个又一个的案例,真正领悟 Python 的强大和简洁,真正做到高 ...

  4. python搞笑代码-python有趣代码

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 前言本月将更新八篇python有趣系列文章. 本系列通过多个有趣案例,讲解pyt ...

  5. python如何改变入参的值_从事数据分析3年后,发现用python入门数据分析这三本书必看!...

    做数据分析为什么选择python? 为什么选择python来做数据分析?先来看一下用python做数据分析有什么优势 1.python在数据分析方面有非常专业的模块,很多常用功能,在做数据分析时非常方 ...

  6. 利用python进行数据分析——第十四章_数据分析案例

    文章目录 本章中的数据文件可从下面的github仓库中下载 利用python进行数据分析(第二版) 一.从Bitli获取 1.USA.gov数据 1.1纯python时区计数 1.2使用pandas进 ...

  7. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析

    Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...

  8. Python有趣|寻找知乎最美小姐姐

    前言 本月将更新八篇Python有趣系列文章.本系列通过多个有趣案例,讲解Python的玩法,其中包含如下内容,一一推进讲解. 爬虫 数据分析 机器学习 项目背景 最近知乎老是给我推送两个问答,一个是 ...

  9. 几个数据分析的小实例(《使用python进行数据分析》)

    数据分析小实例 MovieLens 1M数据集 测量评价分歧 美国1880~2010年婴儿名字 分析名字趋势 计量命名多样性的增加 "最后一个字母"革命 男孩的名字变成女孩的名字( ...

最新文章

  1. 《Arduino实战》——第1章 你好Arduino
  2. (chap 2 简单的Http协议) HTTP方法(1)getput
  3. 23种设计模式C++源码与UML实现--迭代器模式
  4. linux上如何设置ssh免密登陆
  5. Linux 环境变量启动过程/配置文件的读取过程
  6. 字符串转整数,不使用任何C语言库函数
  7. python+pygame安装教程win8
  8. 压垮硬盘的最后一次备份
  9. matplotlib绘制图像设置中文宋体,英文新罗马,字体大小7.5,坐标轴刻度线内侧
  10. 为什么大家都在用在线客服系统?
  11. docker安装redis及验证
  12. 神奇的手指——可以取代”切水果“的清屏小软件
  13. 用户行为分析需求规格说明书
  14. 新华社报道,“大国重器”的企业背后的匠心智造与数字化转型之路
  15. 字体格式-等线-11
  16. 目录-卓有成效的管理者
  17. 计算机仿真实验结果的评价与分析,计算机仿真分析实验报告
  18. PDF怎么转换成excel免费?快收藏这几个方法
  19. ‎平面設計師需要瞭解的8個印刷知識‎
  20. Kylin集群部署及基本架构简介

热门文章

  1. 关于小米手机连接电脑,不能查看logcat日志的解决方法
  2. 2021世界人工智能大会开幕,百度飞桨荣获“SAIL之星”奖项
  3. 石墨文档编辑器用的是开源库吗?
  4. 红米 k30 pro 刷入欧版和小米钱包/商店
  5. 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词
  6. Logstash 原理分析/配置文件详解 时间 日期 时区 ip 反斜杠 grok在线地址 类型转换
  7. DNF史诗计算机最新版,dnf全职业史诗装备搭配计算器2020
  8. 怎么清理ug10注册表_最专业的软件卸载利器:不仅可卸载顽固软件,还能清理软件残留和注册表垃圾...
  9. 国际海运出口的操作流程是怎样的?
  10. Python数据分析与可视化(基础知识)