|
1 | 1 | # 常用包的学习 |
2 | | - |
3 | | -## NumPy |
4 | | - |
5 | | -**简介:** |
6 | | -NumPy 是 Python 的基础科学计算包,提供了高性能的 N 维数组对象(`ndarray`)和大量用于数组操作的函数。它是很多其他数据分析包(例如 pandas 和 scikit-learn)的基础。 |
7 | | - |
8 | | -**学习重点:** |
9 | | - |
10 | | -- **数组创建:** |
11 | | - - 从列表创建:`np.array([1, 2, 3])` |
12 | | - - 特殊数组:`np.zeros((3, 4))`、`np.ones((2, 5))`、`np.eye(4)`、`np.arange(0, 10, 2)`、`np.linspace(0, 1, 5)` |
13 | | - |
14 | | -- **数组操作:** |
15 | | - - 形状操作:`array.shape`、`np.reshape()`、`np.transpose()` |
16 | | - - 切片和索引:类似 Python 列表,但支持多维索引 |
17 | | - - 广播机制:在不同形状的数组间进行运算 |
18 | | - |
19 | | -- **数学运算:** |
20 | | - - 基本运算:加减乘除(直接对数组操作) |
21 | | - - 通用函数(ufuncs):如 `np.sin()`、`np.log()`、`np.exp()` 等 |
22 | | - - 矩阵运算:`np.dot()`、`np.matmul()`、`@` 操作符 |
23 | | - |
24 | | -**示例代码:** |
25 | | - |
26 | | -```python |
27 | | -import numpy as np |
28 | | - |
29 | | -# 创建数组 |
30 | | -a = np.array([1, 2, 3]) |
31 | | -b = np.arange(0, 10, 2) # [0, 2, 4, 6, 8] |
32 | | - |
33 | | -# 数组的基本运算 |
34 | | -c = a * 2 |
35 | | -d = np.sin(a) |
36 | | - |
37 | | -# 数组的形状操作 |
38 | | -matrix = np.arange(12).reshape(3, 4) |
39 | | -transposed = matrix.T |
40 | | - |
41 | | -print("数组 a:", a) |
42 | | -print("数组 b:", b) |
43 | | -print("数组 c (a*2):", c) |
44 | | -print("数组 d (sin(a)):", d) |
45 | | -print("原始矩阵:\n", matrix) |
46 | | -print("转置矩阵:\n", transposed) |
47 | | -``` |
48 | | - |
49 | | ---- |
50 | | - |
| 2 | +## Numpy |
51 | 3 | ## pandas |
52 | | - |
53 | | -**简介:** |
54 | | -pandas 是基于 NumPy 构建的数据分析库,主要提供了两种核心数据结构:`Series`(一维数据)和 `DataFrame`(二维数据表)。它极大地方便了数据读取、清洗、变换和分析。 |
55 | | - |
56 | | -**学习重点:** |
57 | | - |
58 | | -- **数据结构:** |
59 | | - - **Series:** 类似于带标签的一维数组 |
60 | | - - **DataFrame:** 表格数据结构,既有行索引也有列标签 |
61 | | - |
62 | | -- **数据读写:** |
63 | | - - 从 CSV、Excel、SQL 等文件或数据库中读取数据:`pd.read_csv()`, `pd.read_excel()` |
64 | | - - 保存数据:`DataFrame.to_csv()`, `DataFrame.to_excel()` |
65 | | - |
66 | | -- **数据操作:** |
67 | | - - 选择与过滤:通过标签(`.loc`)或位置(`.iloc`)索引 |
68 | | - - 数据清洗:处理缺失值(`dropna()`, `fillna()`)、重复值 |
69 | | - - 数据变换:排序(`sort_values()`)、重设索引(`reset_index()`) |
70 | | - - 数据聚合:`groupby()`、`pivot_table()`、`merge()`、`join()` |
71 | | - |
72 | | -**示例代码:** |
73 | | - |
74 | | -```python |
75 | | -import pandas as pd |
76 | | - |
77 | | -# 创建 DataFrame |
78 | | -data = { |
79 | | - '姓名': ['Alice', 'Bob', 'Charlie', 'David'], |
80 | | - '年龄': [25, 30, 35, 40], |
81 | | - '城市': ['北京', '上海', '广州', '深圳'] |
82 | | -} |
83 | | -df = pd.DataFrame(data) |
84 | | - |
85 | | -# 查看数据 |
86 | | -print("DataFrame 内容:") |
87 | | -print(df) |
88 | | - |
89 | | -# 筛选年龄大于30的数据 |
90 | | -df_filtered = df[df['年龄'] > 30] |
91 | | -print("\n年龄大于30的人:") |
92 | | -print(df_filtered) |
93 | | - |
94 | | -# 分组聚合:按城市统计平均年龄 |
95 | | -df_grouped = df.groupby('城市')['年龄'].mean().reset_index() |
96 | | -print("\n按城市计算平均年龄:") |
97 | | -print(df_grouped) |
98 | | -``` |
99 | | - |
100 | | ---- |
101 | | - |
102 | | -## matplotlib |
103 | | - |
104 | | -**简介:** |
105 | | -matplotlib 是 Python 最常用的数据可视化库,特别是其 `pyplot` 接口,能够方便地创建各种图表(折线图、散点图、直方图、条形图等)。 |
106 | | - |
107 | | -**学习重点:** |
108 | | - |
109 | | -- **基本绘图:** |
110 | | - - 使用 `plt.plot()` 绘制折线图 |
111 | | - - `plt.scatter()` 绘制散点图 |
112 | | - - `plt.bar()` 绘制条形图 |
113 | | - - `plt.hist()` 绘制直方图 |
114 | | - |
115 | | -- **图表定制:** |
116 | | - - 添加标题:`plt.title()` |
117 | | - - 添加坐标轴标签:`plt.xlabel()`、`plt.ylabel()` |
118 | | - - 添加图例:`plt.legend()` |
119 | | - - 自定义颜色、线型、标记等 |
120 | | - |
121 | | -- **显示与保存图表:** |
122 | | - - 显示图表:`plt.show()` |
123 | | - - 保存图表:`plt.savefig('filename.png')` |
124 | | - |
125 | | -**示例代码:** |
126 | | - |
127 | | -```python |
128 | | -import matplotlib.pyplot as plt |
129 | | -import numpy as np |
130 | | - |
131 | | -# 生成数据 |
132 | | -x = np.linspace(0, 10, 100) |
133 | | -y = np.sin(x) |
134 | | - |
135 | | -# 绘制折线图 |
136 | | -plt.figure(figsize=(8, 4)) |
137 | | -plt.plot(x, y, label='sin', color='blue', linestyle='-', marker='o', markersize=4) |
138 | | -plt.title('sin') |
139 | | -plt.xlabel('X ') |
140 | | -plt.ylabel('Y ') |
141 | | -plt.legend() |
142 | | -plt.grid(True) |
143 | | -plt.show() |
144 | | - |
145 | | -``` |
| 4 | +## matplotlib |
0 commit comments