2025-04-15
Python
0

目录

一、数据读写方法
1. 数据读取方法
2. 数据写入方法
二、数据查看与基本信息获取
1. 数据预览方法
2. 数据统计信息
三、数据选择与切片
1. 列选择方法
2. 行选择方法
四、数据清洗与处理
1. 缺失值处理
2. 重复值处理
3. 数据类型转换
五、数据转换与操作
1. 数据排序
2. 数据分组与聚合
3. 数据重塑
六、数据合并与连接
1. 数据合并方法
七、时间序列处理
1. 时间序列方法
八、数据可视化
1. 基本绘图方法
九、高级功能
1. 高级操作方法
十、性能优化技巧
1. 高效处理方法
总结

Pandas是Python数据分析的核心库,提供了丰富的数据结构和数据处理方法。本文将系统介绍Pandas中最常用的工具方法,涵盖数据读写、查看、清洗、转换、分析和可视化等各个方面。

一、数据读写方法

1. 数据读取方法

Pandas提供了多种数据读取函数,支持从不同格式的文件中导入数据:

python
import pandas as pd # 从CSV文件读取 df = pd.read_csv('data.csv') # # 从Excel文件读取 df = pd.read_excel('data.xlsx') # # 从SQL数据库读取 import sqlite3 conn = sqlite3.connect('database.db') df = pd.read_sql('SELECT * FROM table', conn) # # 从JSON字符串读取 json_string = '{"name": "John", "age": 30}' df = pd.read_json(json_string) # # 从HTML页面读取 url = 'https://example.com' dfs = pd.read_html(url) #

2. 数据写入方法

将处理后的数据保存到文件:

python
# 写入CSV文件 df.to_csv('output.csv') # # 写入Excel文件 df.to_excel('output.xlsx') # # 写入SQL数据库 df.to_sql('table_name', conn) # # 写入JSON文件 df.to_json('output.json') #

二、数据查看与基本信息获取

1. 数据预览方法

python
# 查看前n行数据,默认5行 df.head() # # 查看后n行数据,默认5行 df.tail() # # 随机查看n行数据 df.sample(3) #

2. 数据统计信息

python
# 获取描述性统计信息 df.describe() # # 获取数据类型和非空值信息 df.info() # # 获取数据形状(行数,列数) df.shape # # 获取列名列表 df.columns # # 获取索引信息 df.index #

三、数据选择与切片

1. 列选择方法

python
# 选择单列 df['column_name'] # # 选择多列 df[['col1', 'col2']] # # 使用filter选择列 df.filter(items=['col1', 'col2']) # df.filter(regex='regex_pattern') #

2. 行选择方法

python
# 通过标签选择(loc) df.loc[row_label] # df.loc[row_label, 'column_name'] # # 通过位置选择(iloc) df.iloc[row_index] # df.iloc[row_index, col_index] # # 布尔索引 df[df['age'] > 30] # df[df['name'].str.contains('John')] # # query方法筛选 df.query("age > 30 & name == 'John'") #

四、数据清洗与处理

1. 缺失值处理

python
# 检查缺失值 df.isnull() # df.notnull() # # 删除缺失值 df.dropna() # # 填充缺失值 df.fillna(value) # df.fillna(method='ffill') # 向前填充

2. 重复值处理

python
# 检查重复值 df.duplicated() # # 删除重复值 df.drop_duplicates() #

3. 数据类型转换

python
# 转换数据类型 df['column'].astype('float') # # 转换日期时间 pd.to_datetime(df['date_column']) #

五、数据转换与操作

1. 数据排序

python
# 按值排序 df.sort_values('column', ascending=False) # # 按索引排序 df.sort_index() #

2. 数据分组与聚合

python
# 基本分组 df.groupby('column').mean() # # 多列分组 df.groupby(['col1', 'col2']).sum() # # 自定义聚合 df.groupby('column').agg({'col1':'mean', 'col2':'sum'}) #

3. 数据重塑

python
# 透视表 pd.pivot_table(df, values='value', index='row', columns='col') # # 宽表转长表(melt) pd.melt(df, id_vars=['id'], var_name='variable', value_name='value') # # 长表转宽表(pivot) df.pivot(index='id', columns='variable', values='value') #

六、数据合并与连接

1. 数据合并方法

python
# 简单合并(concat) pd.concat([df1, df2], axis=0) # # 数据库风格合并(merge) pd.merge(df1, df2, on='key') # # 追加数据 df1.append(df2) #

七、时间序列处理

1. 时间序列方法

python
# 转换为时间序列 df['date'] = pd.to_datetime(df['date']) # # 重采样 df.resample('D').sum() # # 滚动窗口计算 df.rolling(window=7).mean() #

八、数据可视化

1. 基本绘图方法

python
# 线图 df.plot.line(x='date', y='value') # # 柱状图 df.plot.bar(x='category', y='value') # # 散点图 df.plot.scatter(x='x', y='y') # # 直方图 df['value'].plot.hist() #

九、高级功能

1. 高级操作方法

python
# 应用函数 df['column'].apply(lambda x: x*2) # # 向量化操作 df['new'] = df['col1'] + df['col2'] # # 唯一值计数 df['column'].value_counts() # # 唯一值获取 df['column'].unique() # df['column'].nunique() # 唯一值数量 # 重置索引 df.reset_index() #

十、性能优化技巧

1. 高效处理方法

python
# 使用向量化操作替代循环 df['new'] = df['col1'] * df['col2'] # # 使用eval进行表达式求值 df.eval('new = col1 + col2', inplace=True) # # 使用query进行高效过滤 df.query('col1 > 100 & col2 < 50') #

总结

Pandas提供了丰富的数据处理工具方法,从基本的数据读写到复杂的数据分析操作,涵盖了数据分析的各个环节。掌握这些方法可以显著提高数据处理效率和分析能力。根据不同的数据处理需求,可以选择合适的方法组合:

表:Pandas常用方法分类总结

功能类别常用方法典型应用场景
数据读写read_csv/read_excel, to_csv/to_excel数据导入导出
数据查看head/tail, describe, info数据初步探索
数据选择loc/iloc, query, filter数据子集提取
数据清洗dropna/fillna, drop_duplicates数据质量处理
数据转换groupby, pivot, melt数据重塑与聚合
数据合并concat, merge, append多数据集整合
时间序列to_datetime, resample时间相关分析
数据可视化plot.line/bar/scatter数据图形展示

通过灵活运用这些方法,可以高效完成从数据清洗到分析建模的完整数据分析流程。对于更高级的应用,还可以结合Pandas的扩展功能如窗口操作、自定义函数应用等实现更复杂的数据处理需求。