Pandas 简介
Pandas 是一个开源的 Python 数据分析库,提供高性能、易用的数据结构和数据分析工具。核心数据结构包括Series(一维)和DataFrame(二维),支持数据清洗、转换、聚合等操作。
安装 Pandas
通过 pip 安装:
pip install pandas若需完整环境(如 Jupyter 支持):
pip install pandas jupyter核心数据结构
Series
一维带标签数组,可通过列表创建:
import pandas as pd s = pd.Series([1, 3, 5, 7], index=['a', 'b', 'c', 'd'])支持类似字典的操作(如s['a'])和向量化运算(如s * 2)。
DataFrame
二维表格型数据结构,可通过字典、列表或外部数据(如 CSV)创建:
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data)常用属性:
df.shape:行列数df.columns:列名列表df.dtypes:列数据类型
数据读取与写入
支持多种格式:
# 读取 CSV df = pd.read_csv('data.csv') # 写入 CSV df.to_csv('output.csv', index=False) # 读取 Excel df = pd.read_excel('data.xlsx')其他格式:JSON、SQL、HTML 等。
数据筛选与操作
列选择
df['Name'] # 单列 df[['Name', 'Age']] # 多列行选择
df.loc[0] # 按标签 df.iloc[0] # 按位置 df[df['Age'] > 25] # 条件筛选修改数据
df['Age'] = df['Age'] + 1 # 列运算 df.loc[0, 'Age'] = 26 # 单值修改 df['New_Col'] = df['Age'] * 2 # 新增列数据处理
缺失值处理
df.dropna() # 删除缺失值 df.fillna(0) # 填充缺失值 df.isna().sum() # 统计缺失值数据聚合
df.groupby('Name')['Age'].mean() # 按列分组求均值 df.describe() # 统计摘要合并与连接
# 纵向合并 pd.concat([df1, df2]) # 横向合并 pd.merge(df1, df2, on='key')时间序列处理
Pandas 支持时间类型数据:
df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) df.resample('M').mean() # 按月重采样性能优化
- 使用
df.apply()替代循环。 - 避免链式赋值(如
df[df.A > 2]['B'] = 0)。 - 对大数据集考虑使用
dtype优化(如category类型)。
可视化集成
Pandas 可直接调用 Matplotlib 绘图:
df.plot(kind='line', x='Date', y='Value')https://www.zhihu.com/zvideo/1992047522064135814/
https://www.zhihu.com/zvideo/1992047521275585171/
https://www.zhihu.com/zvideo/1992047521267209752/
https://www.zhihu.com/zvideo/1992047521145586196/
https://www.zhihu.com/zvideo/1992047518717068192/
https://www.zhihu.com/zvideo/1992047518205366304/
https://www.zhihu.com/zvideo/1992047518599635144/
https://www.zhihu.com/zvideo/1992047517261653033/
https://www.zhihu.com/zvideo/1992047514770241147/
https://www.zhihu.com/zvideo/1992047514522777554/
https://www.zhihu.com/zvideo/1992047513725838499/
https://www.zhihu.com/zvideo/1992047512148793218/
https://www.zhihu.com/zvideo/1992047512517906685/
https://www.zhihu.com/zvideo/1992047512601776645/
https://www.zhihu.com/zvideo/1992047511096038233/
https://www.zhihu.com/zvideo/1992047511439970610/
https://www.zhihu.com/zvideo/1992047510135534177/
https://www.zhihu.com/zvideo/1992047508755607730/
https://www.zhihu.com/zvideo/1992047508390682625/
https://www.zhihu.com/zvideo/1992047507786704445/
https://www.zhihu.com/zvideo/1992047506494878640/
https://www.zhihu.com/zvideo/1992047505194635831/
https://www.zhihu.com/zvideo/1992047504456426194/
https://www.zhihu.com/zvideo/1992047502485127937/
https://www.zhihu.com/zvideo/1992047503600801768/
https://www.zhihu.com/zvideo/1992047502954870184/
https://www.zhihu.com/zvideo/1992047500111136592/
https://www.zhihu.com/zvideo/1992047499016433710/
https://www.zhihu.com/zvideo/1992047498257249425/
https://www.zhihu.com/zvideo/1992047498257269364/
https://www.zhihu.com/zvideo/1992047497032520571/
https://www.zhihu.com/zvideo/1992047497741345396/
https://www.zhihu.com/zvideo/1992047496365614842/
https://www.zhihu.com/zvideo/1992047496189480982/
https://www.zhihu.com/zvideo/1992047495941996732/
https://www.zhihu.com/zvideo/1992047496285946071/
https://www.zhihu.com/zvideo/1992047495778428178/
https://www.zhihu.com/zvideo/1992047495065396265/
https://www.zhihu.com/zvideo/1992047495115710747/
https://www.zhihu.com/zvideo/1992047493870003501/
https://www.zhihu.com/zvideo/1992047493073106923/
https://www.zhihu.com/zvideo/1992047492607530537/
https://www.zhihu.com/zvideo/1992047490258712531/
https://www.zhihu.com/zvideo/1992047490170635163/
https://www.zhihu.com/zvideo/1992047489042379147/
https://www.zhihu.com/zvideo/1992047487461123543/
https://www.zhihu.com/zvideo/1992047486685159487/
https://www.zhihu.com/zvideo/1992047483140990391/
https://www.zhihu.com/zvideo/1992047485858912095/
https://www.zhihu.com/zvideo/1992047485078762349/
https://www.zhihu.com/zvideo/1992047482763497495/
https://www.zhihu.com/zvideo/1992047482717377221/
https://www.zhihu.com/zvideo/1992047483422020797/
https://www.zhihu.com/zvideo/1992047482612507607/
https://www.zhihu.com/zvideo/1992047482465711728/
https://www.zhihu.com/zvideo/1992047482788669287/
https://www.zhihu.com/zvideo/1992047482377621950/
https://www.zhihu.com/zvideo/1992047481903678941/
https://www.zhihu.com/zvideo/1992047479940748678/
https://www.zhihu.com/zvideo/1992047480242729838/
https://www.zhihu.com/zvideo/1992047480452429686/
https://www.zhihu.com/zvideo/1992047479554859695/
https://www.zhihu.com/zvideo/1992047474655908969/
https://www.zhihu.com/zvideo/1992047473787683559/
https://www.zhihu.com/zvideo/1992047473695409092/
https://www.zhihu.com/zvideo/1992047472617464673/
https://www.zhihu.com/zvideo/1992047472181282435/
https://www.zhihu.com/zvideo/1992047472105764109/
https://www.zhihu.com/zvideo/1992047471245940252/
https://www.zhihu.com/zvideo/1992047470092513881/
https://www.zhihu.com/zvideo/1992047469564039635/
https://www.zhihu.com/zvideo/1992047469387875624/
https://www.zhihu.com/zvideo/1992047468318324323/
https://www.zhihu.com/zvideo/1992047469228495732/
https://www.zhihu.com/zvideo/1992047468452525483/
https://www.zhihu.com/zvideo/1992047468586767504/
https://www.zhihu.com/zvideo/1992047468142142542/
https://www.zhihu.com/zvideo/1992047467181662640/
https://www.zhihu.com/zvideo/1992047466267318124/
https://www.zhihu.com/zvideo/1992047466250539819/
https://www.zhihu.com/zvideo/1992047465466175585/
https://www.zhihu.com/zvideo/1992047464879002190/
实战案例
数据清洗示例
# 删除重复行 df.drop_duplicates() # 替换异常值 df['Age'] = df['Age'].clip(lower=0, upper=100)分析示例
# 计算各城市平均年龄 city_avg = df.groupby('City')['Age'].mean().sort_values()通过以上功能组合,Pandas 可高效完成从数据加载到分析的全流程任务。