开发者社区> 技术小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

力压 R,Python 在数据科学领域风生水起

简介:
+关注继续查看

TIOBE 最新发布的 9 月编程语言排行榜中,Python 凭 4.67% 的增速以 0.26% 的优势力压 C++,逆袭成功进入 Top 3。

1d22724b36e52315ce02096837362b14290f0ba9

TIOBE 9 月编程语言 Top 5

而近一年势头不灭的 Python 在数据分析领域,是专家们的必备技能。随着 IT 行业的增长,对有经验的数据科学家的需求也水涨船高,而 Python 也一跃而成最受欢迎的语言。本文旨在介绍分析数据的基本知识,并利用 Python 创建一些漂亮的数据可视化。

概要

 ●  为什么要学数据科学中的 Python?
 ●  Python 简介
 ●  为数据科学中的 Python 安装 Jupyter
 ●  Python 的基本知识
 ●  用于数据科学的 Python 库
 ●  Demo:实际应用

数据科学领域,非 Python 语言莫属?

Python 是最适合数据科学家的语言,这一点毫无争议。下面几点可以帮你理解为什么从事数据科学的人选择了 Python:

 ●  Python 是一门免费,灵活且强大的开源语言。
 ●  Python 能减少一半的开发时间,同时提供简洁易读的语法。
 ●  使用 Python 可以进行数据操作、数据分析和可视化。
 ●  Python 提供功能强大的库,用于机器学习应用和其他科学计算。

你知道最大的好处是什么吗?数据科学家是目前收入最高的职位之一,根据 Indeed.com 的数据,平均年薪为 $130,621

Python 由 Guido Van Rossum 于 1989 年创建。它是个解释语言,拥有动态语义。它在所有的平台上可以免费使用。Python 是:

ae7db364d7fd4f6cb5a1523d416d6347a169e4b9

 ●  面向对象
 ●  高级语言
 ●  容易学
 ●  面向过程

为数据科学中的 Python 安装 Jupyter

我们先来在自己的系统上安装 Jupyter。请按照以下步骤进行:

 ●  第 1 步:访问 https://jupyter.org/
 ●  第 2 步:点击“Try in your browser”或“Install the Notebook”

我建议你使用 Anaconda 发行版(https://www.anaconda.com/download/)安装 Python 和 Jupyter。装好Jupyter 之后,可以在命令行中输入“Jupyter Notebook”即可在默认浏览器中打开。现在我们在 Jupyter 上写个最基本的程序。


name=input("Enter your Name:")
print("Hello", name)

要运行这段代码,可以按下“Shift+Enter”,即可查看输出。如下面的截图所示:

9f5bf4747ebf336abc409d4cd5fc6eff488443e1

数据科学中的 Python 的基础

现在可以开始编程了。为了编程,你需要先了解以下的基础知识:

 ●  变量:“变量”这个术语指内存中的一块保留的位置,用于保存值。在Python中,使用变量之前不需要定义变量,更不需要声明变量的类型。
 ●  数据类型:Python 支持多种数据类型,这些数据类型定义了变量上可能的操作,以及它们的存储方式。数据类型包括数值、列表、字符串、元组、集合和字典。
 ●  操作符:操作符可以操纵操作数中的值。Python 中的操作符包括数值操作符、列表操作符、字符串操作符、元组操作符、集合操作符和字典操作符。
 ●  条件语句:条件语句可以根据某个条件执行一组语句。有三个条件语句:if、elif 和 else。
 ●  循环:循环用来反复执行一小段代码。有三种循环,分别是while、for和嵌套循环。
 ●  函数:函数用来将代码分隔成有意义的功能块,以便更好地组织代码,让代码更易读,重用代码,还能节省时间。

关于 Python的更多信息和实际的实现,可以参考这篇文章:Python 入门(https://www.edureka.co/blog/python-tutorial/)。

数据科学中的 Python 库

这是 Python 在数据科学中发挥力量的部分。Python 拥有大量用于科学计算、分析、可视化等的库。一些库如下:

 ●  Numpy - NumPy 是 Python 在数据科学方面的核心库,它的名字的意思是“数值计算用的Python”。它可以用于科学计算,包含了强大的 n 维数组对象,并提供了许多工具与 C、C++ 等语言集成。它还可以用作多维容器,用来存储任意数据,从而进行各种 NumPy 操作和特殊功能。
 ●  Matplotlib - Matplotlib 是个强大的可视化 Python 库。它可以用于Python 脚本、shell、Web 应用服务器上,还可以用于其他 GUI 工具中。可以用它绘制各种图表,也可以把多种图表画在一起。
 ●  Scikit-learn - Scikit-learn 是最引人注目的库之一,通过它可以用 Python 实现机器学习。这个免费的库包含了用于数据分析和数据挖掘的简单有效的工具。用它可以实现各种算法,如逻辑回归。
 ●  Seaborn - Seaborn 是个统计绘图的 Python 库。在数据科学中使用 Python 时,可以使用 matplotlib(用于二维可视化)和 Seaborn,后者有漂亮的样式和高级接口可以用于绘制统计图表。
 ●  Pandas - Pandas 是数据科学中的重要的 Python 库。它用来操作数据和分析数据。它很适合不同类型的数据,如表格、有序时间序列、无序时间序列、矩阵等。这里有个视频(https://youtu.be/B42n3Pc-N2A)演示了如何在处理数据之前使用 Pandas 进行数据分析。

Demo:实际应用

问题描述:给定一组数据集,该数据集是由多种数据组成的综合统计数据,如监狱设施的分布和情况、监狱的拥挤程度、监狱中的犯人类型,等等。请在这个数据集上做描述性的统计,并从数据中找出有用的信息。下面是几个任务:

 ●  数据加载:使用 Pandas 加载数据集“prisoners.csv”并显示数据集中的前五行和最后五行。然后用 Pandas 的 describe 方法找出列数。
 ●  数据操作:创建一个新的列 - “total benefitted”,它是所有模式下的受益的犯人总数。
 ●  数据可视化:创建条形图,用每个州的名字作为X轴,受益犯人的总数作为条的高度。

加载数据使用以下代码:


import pandas as pd
import matplotlib.pyplot as plot
%matplotlib inline
file_name = "prisoners.csv"
prisoners = pd.read_csv(file_name)
prisoners

8672fa7119c0a14e7426f6b592bc85461e31f663

然后用 Pandas 的 describe 方法,只需输入以下语句:

prisoners.describe()

cd20ec63c1d7bd46c3703c3246e0292bbc6d7530

然后进行数据操作:


prisoners["total_benefited"]=prisoners.sum(axis=1)
prisoners.head()

9725eae60b94837431d79a0128ee5193a28715a1

最后,用 Python 做一些数据可视化。代码如下:


import numpy as np
xlabels = prisoners['STATE/UT'].values
plot.figure(figsize=(20, 3))
plot.xticks(np.arange(xlabels.shape[0]), xlabels, rotation = 'vertical', fontsize = 18)
plot.xticks
plot.bar(np.arange(prisoners.values.shape[0]),prisoners['total_benefited'],align = 'edge')

e8a2ab3fd7a919f80da5c348682ce0f1785b07e4

原文发布时间为:2018-09-12本文作者:Aayushi Johari本文来自云栖社区合作伙伴“数据分析”,了解相关信息可以关注“数据分析”。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Python数据科学实践指南》——导读
本节书摘来自华章社区《Python数据科学实践指南》一书中的目录,作者纪路,更多章节内容可以访问云栖社区“华章社区”公众号查看
698 0
+关注
技术小能手
云栖运营小编~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
数据智能驱动的企业增长之道
立即下载
PostgresChina2018_马鹏玮_以标准推动数据库新技术的快速落地
立即下载