读书报告
基本函数的用法
NumPy(数值计算):
-
数组创建
np.array() - 从列表/元组创建数组
np.zeros() - 创建全0数组
np.ones() - 创建全1数组
np.arange() - 创建等差数列
np.linspace() - 创建等间隔数组
np.random.rand() - 创建随机数组(0-1均匀分布)
np.random.randn() - 创建随机数组(标准正态分布) -
数组操作
arr.shape - 查看形状
arr.reshape() - 改变形状
arr.T - 转置
np.concatenate() - 数组拼接
np.split() - 数组分割 -
数学运算
np.sum() - 求和
np.mean() - 求均值
np.std() - 求标准差
np.dot() - 点积/矩阵乘法
np.sin()/cos()/exp() - 三角函数/指数函数
SciPy(科学计算) -
统计模块(scipy.stats)
stats.norm() - 正态分布
pdf() - 概率密度函数
cdf() - 累积分布函数
rvs() - 随机数生成
ttest_ind() - 独立样本t检验 -
优化模块(scipy.optimize)
minimize() - 函数最小化
curve_fit() - 曲线拟合
root() - 方程求解 -
积分模块(scipy.integrate)
quad() - 单重积分
dblquad() - 二重积分
Pandas(数据分析)
核心对象:
Series(一维)和DataFrame(二维) -
数据结构创建
pd.Series() - 从列表创建
Series pd.DataFrame() - 从字典创建
DataFrame pd.read_csv() - 读取CSV文件
pd.read_excel() - 读取Excel文件 -
数据选择与过滤
df['Column'] - 选择列
df.loc[] - 按标签选择
df.iloc[] - 按位置选择
df[条件] - 条件过滤
df.query() - 查询方法 -
数据处理
df.dropna() - 缺失值处理(删除)
df.fillna() - 缺失值处理(填充)
df.groupby() - 数据分组
df.sort_values() - 数据排序
pd.merge() - 数据合并
Matplotlib(数据可视化) -
基础绘图类型
plt.plot() - 折线图
plt.scatter() - 散点图
plt.bar() - 柱状图
plt.hist() - 直方图
plt.boxplot() - 箱线图 -
图形设置
plt.title() - 标题
plt.xlabel()/ylabel() - 轴标签
plt.legend() - 图例
plt.grid() - 网格线
plt.xlim()/ylim() - 坐标轴范围 -
多图布局
plt.subplot() - 子图网格
plt.subplots() - 面向对象API
sharex/sharey - 共享坐标轴 -
样式调整
plt.style.use() - 样式主题
plt.figure(figsize=) - 图形大小
plt.xticks(rotation=) - 刻度标签旋转
cmap参数 - 颜色映射
使用实例
import numpy as np
创建数组
arr = np.array([1, 2, 3]) # 一维数组
mat = np.array([[1, 2], [3, 4]]) # 二维数组
常用属性
print(arr.shape) # 形状: (3,)
print(mat.dtype) # 数据类型: int64
数学运算
a = np.array([1, 2])
b = np.array([3, 4])
print(a + b) # 元素相加: [4 6]
print(np.dot(a, b)) # 点积: 11
统计函数
data = np.array([1, 2, 3, 4])
print(np.mean(data)) # 均值: 2.5
print(np.std(data)) # 标准差: 1.118
from scipy import stats
from scipy.integrate import quad
统计分布
norm_dist = stats.norm(0, 1) # 标准正态分布
print(norm_dist.pdf(0)) # 概率密度: 0.3989
数值积分
result, error = quad(lambda x: x**2, 0, 2) # 计算x²在[0,2]的积分
print(result) # 结果: 2.6667
优化
from scipy.optimize import minimize
res = minimize(lambda x: (x-2)**2, 0) # 最小化(x-2)²,初始值0
print(res.x) # 最优解: 2.0
import pandas as pd
创建DataFrame
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
数据选择
print(df['Name']) # 选择列
print(df.iloc[0]) # 按位置选择行
数据处理
df['Age'] = df['Age'] + 1 # 列操作
print(df.describe()) # 统计摘要
文件读写
df.to_csv('data.csv', index=False) # 写入CSV
new_df = pd.read_csv('data.csv') # 读取CSV
import matplotlib.pyplot as plt
import numpy as np
绘制折线图
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.title('Sine Wave')
plt.show()
绘制散点图
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y)
plt.show()
绘制柱状图
data = [3, 5, 2, 7]
plt.bar(range(len(data)), data)
plt.show()




浙公网安备 33010602011771号