Python 已成为数据科学领域最受欢迎的语言之一。本章将介绍数据科学中最常用的三大基础库:NumPy、Pandas 和 Matplotlib,帮助你建立数据分析的基本能力。
NumPy(Numerical Python)是 Python 进行数值计算的核心库,提供了高效的多维数组对象 ndarray 以及用于操作数组的广泛函数。
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])
常见创建方法:
np.zeros((2, 3)) # 创建2x3的零矩阵
np.ones((3, 3)) # 创建3x3的全1矩阵
np.eye(4) # 创建4x4的单位矩阵
np.arange(0, 10, 2) # 创建从0到10,步长为2的数组
np.linspace(0, 1, 5) # 创建5个等间距的点,从0到1
a = np.array([[1, 2], [3, 4]])
a.shape # (2, 2)
a.T # 转置
a.reshape(4,) # 重塑为一维数组
NumPy 支持广播机制和矢量化运算,使得代码简洁且高效:
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
a + b # [5 7 9]
a * 2 # [2 4 6]
a.dot(b) # 向量点积
Pandas 是用于数据处理和分析的强大工具,主要提供两个核心数据结构:Series(序列) 和 DataFrame(数据框)。
import pandas as pd
# Series 一维带标签的数组
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# DataFrame 二维表格结构
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35]
})
df = pd.read_csv('data.csv') # 读取CSV文件
df.to_excel('output.xlsx') # 保存为Excel文件
df.head() # 查看前几行
df.describe() # 统计描述信息
df['age'] > 28 # 条件筛选布尔索引
df[df['age'] > 28] # 筛选年龄大于28的行
df['age'].mean() # 计算平均年龄
df.sort_values(by='age') # 按照 age 排序
df.groupby('name').mean() # 分组聚合
Matplotlib 是最基础的可视化库,常与 Pandas、NumPy 搭配使用。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.title('Line Chart')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()
# 条形图
plt.bar(['A', 'B', 'C'], [5, 7, 3])
plt.title('Bar Chart')
plt.show()
# 散点图
plt.scatter(x, y)
plt.title('Scatter Plot')
plt.show()
# 直方图
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.title('Histogram')
plt.show()
df['age'].plot(kind='hist')
plt.title('Age Distribution')
plt.show()
这些工具构成了 Python 数据科学的核心基础,后续还可进一步学习 Seaborn、Scikit-Learn、TensorFlow 等高级库。