激流快艇苹果版
29.1M · 2025-09-12
在数据分析和科学计算的世界里,NumPy 和 pandas 是两个最常用的 Python 库。很多初学者会有疑问:这两个库到底有什么区别?什么时候该用 NumPy,什么时候该用 pandas?本文就带你深入了解它们的定位与联系。
NumPy(Numerical Python)是 Python 科学计算的核心库,它提供了一个高效的 多维数组对象 ndarray
,并在其上构建了大量数学运算函数。
一句话总结:
import numpy as np
# 一维数组
arr = np.array([1, 2, 3, 4, 5])
# 向量化计算
print(arr * 2) # [ 2 4 6 8 10]
print(arr + 10) # [11 12 13 14 15]
# 矩阵
mat = np.array([[1, 2, 3],
[4, 5, 6]])
print(mat.T) # 转置
NumPy 更适合处理 纯数值型数据,比如矩阵运算、统计学建模、图像处理等场景。
pandas 是在 NumPy 基础上开发的,提供了更高级的数据结构:
一句话总结:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'city': ['Beijing', 'Shanghai', 'Shenzhen']
}
df = pd.DataFrame(data)
# 筛选
print(df[df['age'] > 28])
# 分组聚合
print(df.groupby('city')['age'].mean())
# 导出
df.to_csv('result.csv', index=False)
pandas 更适合处理 带标签的表格数据,尤其是来自 CSV、Excel 或数据库的数据。
特点 | NumPy ? | pandas ? |
---|---|---|
数据结构 | ndarray(多维数组) | Series / DataFrame(带索引的表格) |
适用数据类型 | 数值型为主 | 混合型(数值、字符串、日期等) |
功能定位 | 高效数学计算 | 数据清洗与分析 |
典型场景 | 矩阵运算、线性代数、图像处理 | 表格型数据、CSV/Excel/SQL 分析 |
底层关系 | 基础库 | 构建于 NumPy 之上 |
简单来说:
在真实项目中,你会经常这样用:
一个小例子:
import pandas as pd
import numpy as np
# 读取数据
df = pd.read_csv('students.csv')
# 筛选成绩列,并转成 NumPy
scores = df['score'].to_numpy()
# 计算平均分
print("平均分:", np.mean(scores))
所以,当你在项目里处理数据时:
它们就像是数据科学中的两把瑞士军刀,一个打底,一个收尾,合在一起无敌。