数据分析必会的十个Python库

大数据 数据分析
今天给大家分享除了基本的 NumPy、Pandas 和 Matplotlib 之外的 10个流行的数据分析 Python 库。

Scikit-learn

Scikit-learn 是一个功能强大的机器学习库,为监督和无监督学习、模型选择和预处理提供了广泛的算法。Scikit-learn 简化了构建机器学习模型的过程,使其成为数据科学家和分析师的热门选择。

可以通过 pip 命令来进行安装。

pip install scikit-learn

以下是导入和使用 scikit-learn 的方法。

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

df = pd.read_csv('data.csv')
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression().fit(X_train, y_train)
y_pred = model.predict(X_test)

Statsmodels

Statsmodels 是一个面向统计的模块,用于数据分析、统计推断和数据建模。它提供了模型拟合、假设检验等工具。Statsmodels 对于生成统计数据和假设检验结果特别有用。

同样,我们也可以直接使用 pip 来安装它。

pip install statsmodels

以下是导入和使用 Scipy 的方法。

import statsmodels.api as sm
import pandas as pd

df = pd.read_csv('data.csv')
model = sm.OLS(endog=df['target'], exog=df[['X1', 'X2']])
results = model.fit()
print(results.summary())

Scipy

SciPy 是基于 Python 的一个重要科学计算库,它构建在 NumPy 的基础上,提供了大量的数学算法和函数工具,主要用于科学和工程领域的计算。

要安装 Scipy,请在终端中运行以下命令。

pip install scipy

以下是导入和使用 Scipy 的方法。

import numpy as np
from scipy.optimize import minimize

def objective(x):
    return np.sum((x[0] - x[1])**2)

start = np.array([1, 1])
opt = minimize(objective, start, method='TNC')
print(opt.x)

TensorFlow

TensorFlow 是一个开源平台,用于构建机器学习模型以及训练、评估和部署它们。它使用 GPU 和 TPU 提供加速计算,并支持跨多个 CPU、GPU 或 TPU 设备进行分布式训练。

以下是导入和使用 TensorFlow 的方法。

import tensorflow as tf

model = tf.keras.Sequential([
     tf.keras.layers.Dense(64, input_shape=(1000,)),
     tf.keras.layers.Dense(1),
     tf.keras.layers.Activation('sigmoid')
 ])
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=100, validation_split=0.2)

Keras

Keras 是一个开源神经网络库,用 Python 编写,能够在 TensorFlow 和 CNTK 上运行。它提供了更高层次的抽象,可以快速高效地构建深度学习模型。

以下是导入和使用 Keras 的方法。

import keras
from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(64, input_shape=(1000,)))
model.add(Dense(1))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=100, validation_split=0.2)

PyTorch

PyTorch 是一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等应用领域。PyTorch 以其易于使用和灵活性而闻名,特别适用于深度学习和神经网络的研究与开发。

以下是导入和使用 PyTorch 的方法。

import torch
import torch.nn as nn
import torch.optim as optim

# 创建一个简单的线性模型
model = nn.Linear(in_features=1, out_features=1)

# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# 示例数据
x_train = torch.tensor([[1.0], [2.0], [3.0]])
y_train = torch.tensor([[2.0], [4.0], [6.0]])

# 训练模型
for epoch in range(1000):
    model.train()
    optimizer.zero_grad()
    
    # 正向传播
    y_pred = model(x_train)
    
    # 计算损失
    loss = criterion(y_pred, y_train)
    
    # 反向传播和优化
    loss.backward()
    optimizer.step()

# 测试模型
model.eval()
with torch.no_grad():
    y_pred = model(torch.tensor([[4.0]]))
    print(y_pred)

PySpark

PySpark 是 Apache Spark 的 Python 模块。它提供了用于大数据处理的 Python 高级 API,并支持关系数据源和 NoSQL 数据源。PySpark 提供丰富的数据框架和 SQL 功能。

import pyspark.sql.functions as F

df = spark.createDataFrame([(1, 'A'), (2, 'B'), (3, 'C'), (4, 'B')], ['id', 'word'])
result = df.groupBy('word').count().orderBy('count', ascending=False)
result.show()

Requests

Requests 是一种发送 HTTP 请求并处理其响应的简单、灵活且可重用的方式。它提供了对类 UNIX 代码定制和技术的快速访问。

要安装 Requests,请在终端中运行以下命令。

pip install requests

以下是导入和使用请求的方法。

import requests
response = requests.get('https://example.com')
print(response.status_code)

BeautifulSoup

BeautifulSoup 是一个用于从 HTML 和 XML 文档中提取数据的 Python 库。它创建了文档的解析树,使得用户可以方便地提取数据。

要安装 BeautifulSoup,请在终端中运行以下命令。

pip install beautifulsoup4

以下是导入和使用 BeautifulSoup 的方法。

from bs4 import BeautifulSoup

html = '<ul><li>1</li><li>2</li><li>3</li></ul>'
soup = BeautifulSoup(html, 'html.parser')
li_list = soup.find_all('li')
for li in li_list:
    print(li.get_text())

Flask

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它被广泛用于快速开发简单的网站和 API。

from flask import Flask

app = Flask(__name__)
@app.route('/')
def hello():
     return 'Hello, World!'
app.run()
责任编辑:华轩 来源: 程序员学长
相关推荐

2024-01-30 00:36:41

Python机器学习

2024-10-15 10:40:09

2022-03-08 14:10:10

数据分析数据集Python

2023-10-04 00:17:00

SQL数据库

2023-10-07 11:36:15

2023-06-27 15:50:23

Python图像处理

2024-04-28 10:00:24

Python数据可视化库图像处理库

2021-05-14 13:53:28

大数据数据分析工具

2024-01-23 18:49:38

SQL聚合函数数据分析

2024-02-01 12:53:00

PandasPython数据

2023-09-20 22:52:12

Kubernetes快捷方式

2022-10-10 14:36:44

Python时间序列机器学习

2019-07-05 07:49:19

TCPIP网络协议

2019-11-06 10:56:59

Python数据分析TGI

2012-12-27 09:56:34

IaaSPaaS数据库

2023-11-08 18:01:53

硬重置Git命令

2023-02-14 08:10:14

Python人工智能XAI

2024-08-22 08:57:32

Python技巧参数

2020-09-08 15:15:06

Python数据科学Python库

2021-06-09 11:06:00

数据分析Excel
点赞
收藏

51CTO技术栈公众号