再见Python!数据分析可以这样做。
Posted 朱小五是凹凸君呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再见Python!数据分析可以这样做。相关的知识,希望对你有一定的参考价值。
大家好,我是小五🧐
如果你是一位数据分析师,必须学习并掌握结构化查询语言——SQL。但它主要用于查询检索数据,所以往往还需要掌握一门编程语言。
在我的公众号中,数据分析相关文章似乎都是用Python实现的。实际上,R语言和Python编程在数据分析方法都各有所长,今天这篇文章会通过比较的形式介绍R语言和Python数据分析。
我们进行数据分析,大体围绕在数据获取、数据处理(探索)、数据建模以及数据可视化这几方面。
Python和R的简介
R是开源和免费的,这一特点让很多人从 SAS 和 SPSS 等传统商业统计软件包转而学习并使用R[1]。大多数用户使用RStudio编写和编辑他们的 R 代码,RStudio是一款用于在 R 中编码的集成开发环境 (IDE)。
Python是一种面向对象的编程语言,并具有一个全面的标准库,可以轻松编程许多常见任务。大多数用户使用PyCharm编写和编辑他们的 Python 代码,PyCharm是由 JetBrains 打造的一款 Python IDE(集成开发环境)。
对于数据分析师来说,在Jupyter Notebooks上编写和编辑代码是个不错的选择。它是一款非常灵活、可交互和强大的工具,既可以运行Python代码,也同样支持R(需安装IRkernel这个R包)。
数据获取
Python语言支持导入各种不同格式的数据,包括但不限于Excel、CSV、txt、JSON等等。Python还有pandasql、sqldf等开源模块,它们可以直接运行SQL来获取数据库。
import pandas as pd
df = pd.read_csv("测试数据.csv")
此外,Python语言不仅可以编写爬虫从网站爬取数据,还可以通过读取Word、PDF、PPT等常用办公文档中读取数据。
同样,R语言也允许将数据从 CSV、Excel 和txt导入 R。R语言中既可以利用sqldf拓展包获取SQL数据库中的数据,也支持SPSS/SAS/Matlab等数据集的导入。
library(readr)
data <- read_csv("测试数据.csv")
但是在爬虫方面,R缺少类似于scrapy这类爬虫框架,只能进行简单的数据抓取。
数据处理
在数据处理(探索)中,使用Python编程则往往要调用Pandas模块。Pandas在数据处理的功能上非常全面,包括但不限于:数据预览、数据预处理、数据选取、数据运算、数据排序与排名、数据合并与连接、数据分组与透视表等等。
df.head(10)
R语言可以被用来对大型数据集进行数值和统计分析,数据探索包有:Dplyr、sqldf、data.table、readr、tidyr等,因此也有大量数据分析/科学人员使用 R 进行探索数据。
head(data, 1)
数据建模
Python编程语言具有用于数据建模的标准库,包括用于数值建模分析的 Numpy 库 、用于科学计算和计算的 SciPy 库、用于机器学习的 sklearn 库等等。
from sklearn.decomposition import PCA
ca_2 = PCA(2)
lot_columns = pca_2.fit_transform(good_columns)
lt.scatter(x=plot_columns[:,0], y=plot_columns[:,1], c=labels)
lt.show()
tidyverse
是为数据科学设计的R软件包,它包含(ggplot2、dplyr、tidyr、stringr、magrittr、tibble)等一系列热门软件包,学好tidyverse的使用可也让你站上另一个高度,从而高效的处理数据[2]。
nba2d <- prcomp(nba[,goodCols], center=TRUE)
woColumns <- nba2d$x[,1:2]
lusplot(twoColumns, labels)
数据可视化
Python在数据可视化方面拥有Matplotlib、Seaborn、Bokeh、plotly等可视化库,同时也有大量借鉴R的可视化新模块。
import seaborn as sns
sns.scatterplot(x = 'SepalLengthCm', y = 'SepalWidthCm', hue = 'Species', data = iris)
R语言专注统计分析,可视化生态圈也较为完善,拥有graphics、ggplot2、lattice、plotly等包。尤其在某些生信、科研、航空等领域,R语言的可视化效果要比Python优秀不少。此外在构建可视化平台方面,Rmarkdown、Rshiny等R包也提供了极大的便利。
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_point() +
labs(title = "A Nice Iris Dataset Graphic", x = "Sepal Length", y = "Sepal Width") +
theme_minimal()
小结
Python 是一种通用的、功能强大的胶水语言,我们可以将很多自动化办公与数据分析/处理结合起来。另一方面,如果你专注于数据和统计,R语言则有一定优势,因为它专为统计分析和数据科学而设计。
就我自己观察,似乎具有较强学术或数学数据科学背景的同学更喜欢 R,而具有更多编程背景的同学更喜欢直接使用Python编程。
以上仅代表个人见解,希望能够对大家有帮助!
推荐好书 & 福利抽奖
《深入浅出R语言数据分析》本书首先介绍数据分析的方法论,然后介绍数据分析的相关模型方法,并进一步通过数据分析案例,讲解数据分析的思维、方法及模型实现过程。本书重点介绍R语言在数据分析方面的应用,让读者能够快速地使用R语言进行数据分析、构建模型。
今天我也会抽奖送出多本《深入浅出R语言数据分析》。抽奖的方式也非常简单,只需扫描下方二维码,回复“0303”即可参与获得专属的抽奖链接。看到文末的小伙伴,麻烦给右下角点个赞再走。
本次活动采用官方抽奖平台,公开公平,中奖的同学可以免费包邮获得最新版本的《深入浅出R语言数据分析》。
参考资料
[1]
Peter Bell: https://flatironschool.com/
[2]R语言学习指南(3) tidyverse的基础使用: https://www.jianshu.com/p/a081a791ae03
点击这里,阅读更多数据文章!
以上是关于再见Python!数据分析可以这样做。的主要内容,如果未能解决你的问题,请参考以下文章