当前位置: 首页 > article >正文

《Python基础》之Pandas库

目录

一、简介

二、Pandas的核心数据结构

1、Series

2、DataFrame

三、数据读取与写入

1、数据读取

 2、数据写入

四、数据清洗与处理

1、处理缺失值

2、处理重复值

3、数据转换

五、数据分析与可视化

1、统计描述

2、分组聚合

3、数据可视化

六、高级技巧

1、时间序列分析

2、数据透视表

七、总结


在数据科学的世界里,Python 的 Pandas 库无疑是一把瑞士军刀。无论你是数据分析师、数据科学家,还是机器学习工程师,Pandas 都是你不可或缺的工具。本文将带你深入了解 Pandas 库的核心功能、常用操作以及一些高级技巧,帮助你更好地利用这个强大的工具。

一、简介

Pandas 是一个开源的数据处理和分析库,由 Wes McKinney 在 2008 年创建。它建立在 NumPy 库之上,提供了高效、灵活的数据结构,使得数据操作和分析变得更加简单和直观。Pandas 主要的数据结构是 Series 和 DataFrame,分别用于处理一维和二维的数据。

二、Pandas的核心数据结构

1、Series

Series 是 Pandas 中的一维数组,类似于带标签的数组。每个元素都有一个标签(索引),可以通过标签访问数据。

import pandas as pd

# 创建一个 Series
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)

2、DataFrame

DataFrame 是 Pandas 中的二维表格数据结构,类似于电子表格或 SQL 表。它由行和列组成,每列可以是不同的数据类型。

# 创建一个 DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'city': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

 

三、数据读取与写入

Pandas 支持从多种数据源读取数据,包括 CSV、Excel、SQL 数据库、JSON 等。同样,它也支持将数据写入这些格式。

1、数据读取

# 从 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_name', conn)

 2、数据写入

# 将数据写入 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)

四、数据清洗与处理

数据清洗是数据分析过程中非常重要的一步。Pandas 提供了丰富的功能来处理缺失值、重复值、异常值等。

1、处理缺失值

# 检查缺失值
print(df.isnull().sum())

# 删除包含缺失值的行
df_cleaned = df.dropna()

# 填充缺失值
df_filled = df.fillna(method='ffill')  # 前向填充
df_filled = df.fillna(method='bfill')  # 后向填充
df_filled = df.fillna(df.mean())      # 用均值填充

2、处理重复值

# 检查重复值
print(df.duplicated().sum())

# 删除重复值
df_cleaned = df.drop_duplicates()

3、数据转换

# 数据类型转换
df['age'] = df['age'].astype(float)

# 数据标准化
df['age'] = (df['age'] - df['age'].mean()) / df['age'].std()

五、数据分析与可视化

Pandas 提供了丰富的数据分析功能,包括统计描述、分组聚合、透视表等。结合 Matplotlib 和 Seaborn 等可视化库,可以轻松创建各种图表。

1、统计描述

# 统计描述
print(df.describe())

# 计算相关系数
print(df.corr())

2、分组聚合

# 按城市分组并计算平均年龄
grouped = df.groupby('city')['age'].mean()
print(grouped)

3、数据可视化

import matplotlib.pyplot as plt
import seaborn as sns

# 绘制柱状图
df['age'].plot(kind='bar')
plt.show()

# 绘制散点图
sns.scatterplot(x='age', y='city', data=df)
plt.show()

六、高级技巧

1、时间序列分析

Pandas 提供了强大的时间序列处理功能,支持日期解析、时间差计算、重采样等。

# 创建时间序列数据
dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))

# 重采样
df_monthly = df.resample('M').mean()
print(df_monthly)

2、数据透视表

数据透视表是数据分析中非常有用的工具,Pandas 提供了 pivot_table 函数来创建透视表。

# 创建数据透视表
pivot_table = pd.pivot_table(df, values='age', index='city', columns='name', aggfunc='mean')
print(pivot_table)

七、总结

Pandas 是数据科学领域中不可或缺的工具,它提供了丰富的功能来处理、分析和可视化数据。无论你是初学者还是经验丰富的数据科学家,掌握 Pandas 都将极大地提升你的工作效率。希望本文能帮助你更好地理解和使用 Pandas,开启你的数据科学之旅。


http://www.kler.cn/a/421609.html

相关文章:

  • 在Scala中Array可变以及切片的学习
  • 【C++】深入优化计算题目分析与实现
  • QT实战-qt各种菜单样式实现
  • Linux 各个目录作用
  • yolov11剪枝
  • 简单快速的上手python
  • PostgreSQL认证培训需要什么条件
  • 上天入地,智能诊断,多语言支持,璞华IETM打造产品技术信息管理极致用户体验
  • Python虚拟环境管理工具:Pipenv
  • Linux-Ubuntu16.04摄像头 客户端抓取帧并保存为PNG
  • Golang教程第24篇(语言接口)
  • Meta-Llama-3-8B-Instruct 模型的混合精度训练显存需求:AdamW优化器(中英双语)
  • STM32G4系列MCU的Direct memory access controller (DMA)功能之一
  • 更多开源创新 挑战OpenAI-o1的模型出现和AI个体模拟突破
  • 删除 MySQL 的多余实例
  • Redis使用场景-缓存-缓存击穿
  • pytest(二)excel数据驱动
  • winform跨线程更新界面
  • 【Unity基础】Unity中Transform.forward的详解与应用
  • Spring Boot集成Spring Security:深入探索授权机制
  • 《山海经》:北山
  • 显卡(Graphics Processing Unit,GPU)架构详细解读
  • 故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab)
  • 高级java每日一道面试题-2024年12月02日-JVM篇-虚拟机为什么使用元空间替换了永久代?
  • 【C++boost::asio网络编程】有关异步Server样例以及伪闭包延长连接生命周期方法的笔记
  • react-router-dom 快速上手