再见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!数据分析可以这样做。的主要内容,如果未能解决你的问题,请参考以下文章

Python真的什么都可以做,胶水语言可不是白叫的

再见,Python。你好,Go 语言

再见matplotlib,7 个必须尝试的 Python 数据可视化库!

胶水语言

再见,MySQL!性能被 MariaDB 吊打…

对齐多行“胶水”表达式