Pandas简介
Pandas 是一个强大的 Python 库,专门用于数据操作和分析。它提供了高效的数据结构(如 DataFrame
和 Series
),使得处理结构化数据(如 CSV 文件、Excel 表格、SQL 数据库等)变得非常简单。Pandas 是数据科学、机器学习和数据分析领域的核心工具之一。
以下是关于 Pandas 的详细介绍和使用指南:
1. Pandas 的核心数据结构
Pandas 提供了两种主要的数据结构:
- Series:一维数组,类似于带标签的列表。
- DataFrame:二维表格,类似于 Excel 表格或 SQL 表。
示例:创建 Series 和 DataFrame
import pandas as pd # 创建 Series s = pd.Series([1, 3, 5, 7, 9]) print(s) # 创建 DataFrame data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'Los Angeles', 'Chicago'] } df = pd.DataFrame(data) print(df)
2. 数据读取与写入
Pandas 支持从多种文件格式读取数据,并可以将数据写入文件。
读取数据
# 从 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_query('SELECT * FROM table_name', conn)
写入数据
# 写入 CSV 文件 df.to_csv('output.csv', index=False) # 写入 Excel 文件 df.to_excel('output.xlsx', index=False) # 写入 SQL 数据库 df.to_sql('table_name', conn, if_exists='replace', index=False)
3. 数据查看与探索
Pandas 提供了多种方法查看和探索数据。
查看数据
# 查看前 5 行 print(df.head()) # 查看后 5 行 print(df.tail()) # 查看数据信息 print(df.info()) # 查看统计信息 print(df.describe())
数据筛选
# 筛选列 print(df['Name']) # 筛选行 print(df[df['Age'] > 30]) # 多条件筛选 print(df[(df['Age'] > 25) & (df['City'] == 'New York')])
4. 数据清洗
数据清洗是数据分析的重要步骤,Pandas 提供了丰富的功能来处理缺失值、重复值和异常值。
处理缺失值
# 检查缺失值 print(df.isnull()) # 删除缺失值 df_cleaned = df.dropna() # 填充缺失值 df_filled = df.fillna(0)
处理重复值
# 检查重复值 print(df.duplicated()) # 删除重复值 df_unique = df.drop_duplicates()
5. 数据操作
Pandas 支持多种数据操作,如排序、分组、合并等。
排序
# 按列排序 df_sorted = df.sort_values(by='Age', ascending=False) print(df_sorted)
分组
# 按列分组并计算平均值 df_grouped = df.groupby('City')['Age'].mean() print(df_grouped)
合并
# 合并两个 DataFrame df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']}) df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']}) df_merged = pd.concat([df1, df2]) print(df_merged)
6. 数据可视化
Pandas 集成了 Matplotlib,可以直接绘制图表。
绘制图表
import matplotlib.pyplot as plt # 绘制柱状图 df['Age'].plot(kind='bar') plt.show() # 绘制散点图 df.plot(kind='scatter', x='Age', y='City') plt.show()
7. 高级功能
Pandas 还支持许多高级功能,如时间序列分析、数据透视表等。
时间序列分析
# 创建时间序列 dates = pd.date_range('20230101', periods=6) df_time = pd.DataFrame({'Date': dates, 'Value': [1, 3, 5, 7, 9, 11]}) print(df_time) # 按时间筛选 print(df_time[df_time['Date'] > '20230103'])
数据透视表
# 创建数据透视表 df_pivot = df.pivot_table(values='Age', index='City', aggfunc='mean') print(df_pivot)
8. 性能优化
对于大规模数据集,Pandas 的性能可能会成为瓶颈。以下是一些优化方法:
- 使用
dtype
指定数据类型:减少内存占用。 - 使用
chunksize
分块读取数据:避免内存不足。 - 使用 NumPy 或 Dask:替代 Pandas 处理超大规模数据。
总结
- Pandas 是 Python 中用于数据操作和分析的核心库。
- 它提供了
Series
和DataFrame
两种主要数据结构。 - 支持数据读取、清洗、操作、可视化和高级分析。
- 适用于数据科学、机器学习和数据分析等领域。
AI自动测试化入门到精通 文章被收录于专栏
如何做AI自动化测试