1. Pandas:数据分析的瑞士军刀
Pandas作为Python数据分析领域的核心工具,已经成为数据科学家和分析师的标配武器。我第一次接触Pandas是在处理一个包含50万行销售数据的项目,当时用Excel打开文件需要3分钟,而Pandas仅用2秒就完成了加载和初步处理——那一刻我就知道,这工具值得深入学习。
Pandas的核心优势在于它完美融合了SQL的表格操作思维、Excel的直观性和Python的编程灵活性。不同于Numpy专注于数值计算,Pandas专门为处理带标签的表格数据而生,特别适合处理现实世界中那些不完美、有缺失、带时间戳的业务数据。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心数据结构解析
2.1 DataFrame:二维表格的终极形态
DataFrame是Pandas中最常用的数据结构,可以理解为Excel工作表的超级进化版。我习惯把它想象成一个有智能索引的电子表格——不仅能存储数据,还能记住每个数据的"坐标"。
创建DataFrame的几种典型方式:
python复制# 方式1:从字典创建(最常用)
data = {
'产品': ['手机', '笔记本', '平板'],
'销量': [120, 85, 64],
'单价': [5999, 8999, 3299]
}
df = pd.DataFrame(data)
# 方式2:从列表创建(需指定列名)
data = [
['手机', 120, 5999],
['笔记本', 85, 8999],
['平板', 64, 3299]
]
df = pd.DataFrame(data, columns=['产品', '销量', '单价'])
# 方式3:从Numpy数组创建
import numpy as np
arr = np.random.rand(3, 4) # 3行4列随机数
df = pd.DataFrame(arr, columns=['A','B','C','D'])
实战经验:处理业务数据时,我90%的情况会使用字典创建方式,因为列名与数据的对应关系一目了然,后期维护代码时也不容易出错。
2.2 Series:一维数据的专业容器
Series可以看作是DataFrame的单列版本,但它的能力远不止于此。在处理时间序列数据时,Series的表现尤为出色。
python复制# 创建Series的多种方式
s1 = pd.Series([1, 3, 5, np.nan, 6, 8]) # 自动生成0-5的索引
s2 = pd.Series({'a':1, 'b':2, 'c':3}) # 使用字典指定索引
s3 = pd.Series(5, index=list('abcde')) # 标量广播
# 从DataFrame中提取Series
price_series = df['单价'] # 获取单价列
Series的强大之处在于它保留了Numpy数组的高效运算特性,同时增加了索引功能。比如计算移动平均:
python复制# 计算7天移动平均
sales_series = pd.Series([120,130,125,140,135,150,145,160])
moving_avg = sales_series.rolling(wind
