用于数据科学家和数据工程师的Python库列表

介绍一些用于数据分析、数据处理和机器学习等方面非常方便的Python库。

为什么选择 Python?

如果进行统计或机器学习,也可以选择R。R是一种优秀的语言,可以进行数据处理、汇总和统计处理,并且仅凭语言标准功能就可以完成很多工作。它还拥有丰富的机器学习库,是一个强有力的选择。相比较R,Python在周边生态系统的完善上更加优秀。Python的生态系统不仅限于数据科学领域,还可将经过NumPy和Pandas处理的数据用于基于Django的完整Web应用程序中。

安装库集合

大部分列举的库都可以通过Anaconda一键安装。

数据处理

NumPy -> 数值Python

NumPy是一个用于高效进行数值计算的库。这里以一维数组为例,但也支持多维数组。它可以快速进行向量和矩阵计算。

In [1]: import numpy as np # NumPy のインポート

In [2]: arr = np.asarray([n for n in range(10)]) # ベクトルの作成

In [3]: arr # 出力
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [4]: arr * 10 # データの加工
Out[4]: array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])

NumPy 是一种用于数值计算的库。

大熊猫

Pandas是一种扩展了NumPy的库,具有在机器学习的前处理中必不可少的功能,如数据加载和缺失值处理。它有一个名为DataFrame的对象,可以方便地进行数据处理和合并。类似于R中的data.frame。

In [1]: import pandas as pd # Pandas のインポート

In [2]: df = pd.DataFrame({ # データフレームの作成
   ...: 'A': [n for n in range(5)],
   ...: 'B': ['male', 'male', 'female', 'female', 'male'],
   ...: 'C': [0.3, 0.4, 1.2, 100.5, -20.0]
   ...: })

In [3]: df
Out[3]: 
   A       B      C
0  0    male    0.3
1  1    male    0.4
2  2  female    1.2
3  3  female  100.5
4  4    male  -20.0

In [4]: df.describe() # 基本統計量の出力
Out[4]: 
              A           C
count  5.000000    5.000000
mean   2.000000   16.480000
std    1.581139   47.812101
min    0.000000  -20.000000
25%    1.000000    0.300000
50%    2.000000    0.400000
75%    3.000000    1.200000
max    4.000000  100.500000

In [5]: df[df['B'] == 'female'] # サブセットの呼び出し
Out[5]: 
   A       B      C
2  2  female    1.2
3  3  female  100.5

Python数据分析库 — pandas:Python数据分析库

报告,可视化

朱庇特

Jupyter Notebook是Python的执行环境,可以用作数据探索、数据处理和统计分析的编码环境,它能记录代码的内容和输出结果。此外,还可以将其输出为报告或幻灯片的形式。

项目Jupyter | 首页

图像绘制。

matplotlib是一个用于绘制图表的库。它支持条形图、散点图、直方图等各种类型的图表。

Matplotlib(绘图库):Python绘图 —— Matplotlib 2.0.2 文档

Plotly是一种数据可视化工具。

plotly可以绘制比matplotlib更丰富且具有互动性的图形。您还可以在plot.ly上共享所创建的图形。

Plot 9

Python绘图库,Plotly

消息传递、流式处理

卡夫卡-Python

Kafka-Python是一个名副其实的Python客户端,用于连接Apache Kafka。

from kafka import KafkaConsumer
import json

consumer = KafkaConsumer('topic', bootstrap_servers='localhost:9092')

for msg in consumer:
    data = json.loads(msg.value.decode())
    print(data)

PySpark can be paraphrased in Chinese as “PySpark 可以”.

Spark和Kafka已经成为必不可少的大数据工具。存在着一个名为MLlib的机器学习库。

Python编程指南- Spark 0.9.0文档

机器学习

scikit-learn 机器学习库

scikit-learn是一個機器學習的函式庫。它不僅支持流行的神經網絡,還可以使用其他算法。此外,它還提供了處理機器學習所需的訓練數據和驗證數據的功能,如分割和交叉驗證以及網格搜索等。這是一個非常實用的函式庫,可以解決一些棘手的問題。如果你想學習機器學習函式庫,首先就從這個開始吧。

scikit-learn:Python中的机器学习 – scikit-learn 0.18.2文档

TensorFlow: TensorFlow

你是否熟悉深度学习库?

TensorFlow

TensorFlow(张量流)

Keras: 凯拉斯

Keras是对TensorFlow、CNTK和Theano等框架的封装。

Keras 文档

推荐的书籍

奥ライリージャパン – データ分析の初歩をPythonで学ぶ

这本书是由Pandas的作者所写的。你可以学习到Pandas的使用方法和数据分析技巧。它还涵盖了NumPy、matplotlib等周边库。

O’Reilly日本 – Python機械学習入門

这本书是由scikit-learn的作者编写的。可以学习如何使用scikit-learn和机器学习所需的工程知识。

直接翻译为中文:“跳出 Python”

如果你不仅仅满足于在Pandas中操纵数据或调整机器学习库,那么你可能需要跳出Python的生态系统。数据的世界是深不可测且广阔的,工程师们需要涵盖更广泛的范围来支持数据科学家。具体来说,掌握分布式处理基础设施(如Hadoop、Spark、Apex)以及全托管数据仓库(如BigQuery、TreasureData)等,将会扩大你的活跃场景。

    • ストリーム処理で文章内にある単語の出現頻度をカウントする(Apache Apex) – 駄文型

 

    fluentdコンテナをDockerで立ててRailsのログをTreasureData by IDCFに保存する – 駄文型
广告
将在 10 秒后关闭
bannerAds