前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再见Python!数据分析可以这样做。

再见Python!数据分析可以这样做。

作者头像
朱小五
发布2022-04-11 19:49:27
8760
发布2022-04-11 19:49:27
举报
文章被收录于专栏:凹凸玩数据凹凸玩数据

大家好,我是小五🧐

如果你是一位数据分析师,必须学习并掌握结构化查询语言——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来获取数据库。

代码语言:javascript
复制
import pandas as pd
df = pd.read_csv("测试数据.csv")

此外,Python语言不仅可以编写爬虫从网站爬取数据,还可以通过读取Word、PDF、PPT等常用办公文档中读取数据。

同样,R语言也允许将数据从 CSV、Excel 和txt导入 R。R语言中既可以利用sqldf拓展包获取SQL数据库中的数据,也支持SPSS/SAS/Matlab等数据集的导入。

代码语言:javascript
复制
library(readr)
data <- read_csv("测试数据.csv")

但是在爬虫方面,R缺少类似于scrapy这类爬虫框架,只能进行简单的数据抓取。

数据处理

在数据处理(探索)中,使用Python编程则往往要调用Pandas模块。Pandas在数据处理的功能上非常全面,包括但不限于:数据预览、数据预处理、数据选取、数据运算、数据排序与排名、数据合并与连接、数据分组与透视表等等。

代码语言:javascript
复制
df.head(10)

R语言可以被用来对大型数据集进行数值和统计分析,数据探索包有:Dplyr、sqldf、data.table、readr、tidyr等,因此也有大量数据分析/科学人员使用 R 进行探索数据。

代码语言:javascript
复制
head(data, 1)

数据建模

Python编程语言具有用于数据建模的标准库,包括用于数值建模分析的 Numpy 库 、用于科学计算和计算的 SciPy 库、用于机器学习的 sklearn 库等等。

代码语言:javascript
复制
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]。

代码语言:javascript
复制
nba2d <- prcomp(nba[,goodCols], center=TRUE)
woColumns <- nba2d$x[,1:2]
lusplot(twoColumns, labels)

数据可视化

Python在数据可视化方面拥有Matplotlib、Seaborn、Bokeh、plotly等可视化库,同时也有大量借鉴R的可视化新模块。

代码语言:javascript
复制
import seaborn as sns
sns.scatterplot(x = 'SepalLengthCm', y = 'SepalWidthCm', hue = 'Species', data = iris)

R语言专注统计分析,可视化生态圈也较为完善,拥有graphics、ggplot2、lattice、plotly等包。尤其在某些生信、科研、航空等领域,R语言的可视化效果要比Python优秀不少。此外在构建可视化平台方面,Rmarkdown、Rshiny等R包也提供了极大的便利。

代码语言:javascript
复制
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语言进行数据分析、构建模型。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 凹凸数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python和R的简介
  • 数据获取
  • 数据处理
  • 数据建模
  • 数据可视化
  • 小结
    • 推荐好书 & 福利抽奖
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档