pandas是Python数据处理最常用高效的工具,核心对象为Series和DataFrame;支持多种格式读写、数据清洗、筛选聚合等全流程操作。

Python数据处理最常用、最高效的工具就是pandas,它专为结构化数据设计,能轻松完成读取、清洗、变换、分析和导出全流程。掌握几个核心对象和方法,就能应对绝大多数日常任务。
Series和DataFrame:pandas的两大基石
Series是一维带标签的数组,类似Excel里的一列;DataFrame是二维表格,相当于整张工作表。几乎所有操作都围绕这两个对象展开。
- 创建Series:用pd.Series([1, 2, 3], index=['a', 'b', 'c'])
- 创建DataFrame:传入字典pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]}),键自动变成列名
- 查看结构:用df.shape看行列数,df.info()看数据类型和缺失值,df.head()看前5行
读写数据:几行代码搞定常见格式
不用手动解析文件,pandas内置了大量IO函数,支持CSV、Excel、JSON、SQL甚至网页表格。
- 读CSV:pd.read_csv('data.csv'),常用参数sep(分隔符)、encoding(编码)、parse_dates(自动转日期)
- 读Excel:pd.read_excel('report.xlsx', sheet_name='Summary')
- 写回文件:df.to_csv('cleaned.csv', index=False),index=False避免多写一列行号
数据清洗:处理脏数据最常用的五步
真实数据常有缺失、重复、格式错乱等问题,pandas提供了简洁直接的解决方式。
立即学习“Python免费学习笔记(深入)”;
- 删空行/空列:df.dropna()(默认删含空值的行),df.dropna(axis=1)删空列
- 填缺失值:df['age'].fillna(df['age'].mean())或用'ffill'前向填充
- 去重:df.drop_duplicates(),加subset=['email']可按指定列判断重复
- 改类型:df['date'] = pd.to_datetime(df['date']),df['price'] = df['price'].astype(float)
- 字符串处理:df['name'].str.upper()、df['phone'].str.replace(r'\D', '')(去掉非数字字符)
筛选与聚合:像查数据库一样分析数据
用布尔索引和groupby,可以快速完成条件查询和分组统计,比写循环清晰得多。
- 条件筛选:df[df['age'] > 25],多个条件用&(且)、|(或),注意括号包裹每个条件
- 按列筛选:df[['name', 'salary']]或df.loc[:, 'name':'salary']
- 分组统计:df.groupby('dept')['salary'].mean().round(2),结果自动带索引(部门名)
- 多级汇总:df.groupby(['dept', 'year'])['sales'].sum().unstack()生成透视表样式
不复杂但容易忽略:很多操作默认返回新对象,原DataFrame不变。需要修改原数据时,加上inplace=True,或者用赋值语句接收结果。写完记得用df.info()或df.sample(3)快速验证效果。










