1.数据清洗与预处理
Pandas: Pandas 是最常用的数据处理库之一,它提供了强大的数据结构(如DataFrame)以及用于操作表格数据的函数,包括缺失值处理、数据转换、聚合等。
import pandas as pd
# 创建一个简单的 DataFrame
data = {'A': [1, 2, None], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 处理缺失值
df.fillna(0, inplace=True)
2. 数据分析与统计
NumPy: NumPy 提供了多维数组对象和一系列用于数学运算的功能,是进行数值计算的基础库。
import numpy as np
# 创建一个数组并执行一些基本操作
arr = np.array([1, 2, 3])
mean_value = np.mean(arr)
SciPy: SciPy 建立在 NumPy 之上,提供了更多高级的科学计算功能,如优化、信号处理、线性代数等。
from scipy import stats
# 计算一组数据的描述性统计信息
data = [1, 2, 2, 3, 4]
mode = stats.mode(data)
3. 数据可视化
Matplotlib: Matplotlib 是 Python 中最受欢迎的绘图库之一,可以创建静态、动态及交互式的图表。
import matplotlib.pyplot as plt
# 绘制简单折线图
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.show()
Seaborn: Seaborn 是基于 Matplotlib 的更高层次接口,专注于统计数据可视化,提供更美观的默认样式和颜色方案。
import seaborn as sns
# 加载示例数据集并绘制热力图
tips = sns.load_dataset("tips")
sns.heatmap(tips.corr(), annot=True)
plt.show()
4. 机器学习与预测建模
Scikit-learn: Scikit-learn 是一个广泛使用的机器学习库,支持多种算法,如分类、回归、聚类等,并且包含许多实用工具,例如特征选择、模型评估等。
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
5. 文本处理与自然语言处理 (NLP)
NLTK: NLTK (Natural Language Toolkit) 是一个用于文本处理和自然语言处理的强大库,涵盖了从分词到语义分析的各种任务。
import nltk
from nltk.tokenize import word_tokenize
# 分词
text = "Hello, how are you?"
tokens = word_tokenize(text)
print(tokens)
spaCy: spaCy 是另一个高效的工业级 NLP 库,特别适合生产环境中使用,具有快速性能和易于扩展的特点。
import spacy
nlp = spacy.load('en_core_web_sm')
doc = nlp("Apple is looking at buying U.K. startup for $1 billion")
for token in doc:
print(token.text, token.pos_)
6. 时间序列分析
Statsmodels: Statsmodels 是一个专注于统计建模和时间序列分析的库,提供了广泛的模型和方法,如ARIMA、VAR等。
import statsmodels.api as sm
# 拟合 ARIMA 模型
model = sm.tsa.ARIMA(endog=data, order=(5,1,0))
results = model.fit()
7. 图像处理
OpenCV: OpenCV 是一个开源计算机视觉库,广泛应用于图像处理和视频捕捉等领域。
import cv2
# 读取图像文件
img = cv2.imread('image.jpg')
# 显示图像
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
8. 数据库连接与SQL查询
SQLite3: SQLite3 模块允许直接与 SQLite 数据库交互,执行 SQL 查询。
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM table_name")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
SQLAlchemy: SQLAlchemy 是一个 ORM(对象关系映射)库,使得 Python 对象可以直接映射到数据库表,简化了数据库操作。
from sqlalchemy import create_engine, Table, MetaData
engine = create_engine('sqlite:///example.db')
metadata = MetaData(bind=engine)
table = Table('table_name', metadata, autoload_with=engine)
with engine.connect() as connection:
result = connection.execute(table.select())
for row in result:
print(row)
9. 并行与分布式计算
Multiprocessing: Multiprocessing 模块提供了跨平台的方式来进行多进程编程,适用于需要利用多核 CPU 资源的任务。
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
Dask: Dask 是一个灵活的并行计算库,能够轻松地将现有的 Python 代码扩展到大规模集群上运行。
import dask.dataframe as dd
# 读取大型 CSV 文件
df = dd.read_csv('large_file.csv')
result = df.groupby('column').sum().compute()