Pandas简介

Pandas 是一个强大的 Python 库,专门用于数据操作和分析。它提供了高效的数据结构(如 DataFrameSeries),使得处理结构化数据(如 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 中用于数据操作和分析的核心库。
  • 它提供了 SeriesDataFrame 两种主要数据结构。
  • 支持数据读取、清洗、操作、可视化和高级分析。
  • 适用于数据科学、机器学习和数据分析等领域。
AI自动测试化入门到精通 文章被收录于专栏

如何做AI自动化测试

全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务