社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

凹凸数据 • 4 年前 • 605 次点击  

大家好,我是小五🧐

如果你是一位数据分析师,必须学习并掌握结构化查询语言——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 "测试数据.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 TRUE)
woColumns 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/Django开发社区
本文地址:http://www.python88.com/topic/127778