【新手解答】Python中Pandas的初学者笔记


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

前些天发现了一个人工智能学习网站,内容深入浅出、易于理解。如果对人工智能感兴趣,不妨点击查看

写在最前面

一位CSDN好友询问是否有python里的pandas库的笔记,在我的蓝桥杯专栏(点击可直接跳转)中有部分涉及pandas库的笔记,但是没有系统整合,于是新写一篇博客简单梳理一下。

在这里插入图片描述

在这篇博客中,我们将深入浅出地介绍Python中的Pandas库,旨在帮助初学者快速上手并有效地利用这个强大的数据处理工具。

Python与Pandas简介

Python 是一种高级编程语言,以其简洁的语法和强大的功能而闻名。它在数据科学、机器学习、网络开发等多个领域都有广泛应用。

Pandas 是一个开源的Python库,专为数据分析提供高性能的数据结构和数据分析工具。对于希望在Python中处理、分析数据的初学者而言,Pandas是一个不可或缺的工具。

安装Pandas

Pandas安装步骤

一旦Python安装完成,可以通过Python的包管理器pip来安装Pandas。打开命令行或终端,输入以下命令即可:

pip install pandas

Pandas基础:DataFrame与Series

DataFrame介绍

DataFrame是Pandas中最常用的数据结构,类似于Excel中的表格,或是SQL数据库中的表。它是一个二维的、大小可变的、异质性的表格数据结构,带有轴标签(行标签和列标签)。

import pandas as pd

# 创建一个DataFrame示例
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
        'Age': [28, 34, 29, 40],
        'City': ['New York', 'Paris', 'Berlin', 'London']}
df = pd.DataFrame(data)
print(df)

Series介绍

Series是Pandas中另一个核心数据结构,可以被认为是一个一维的数组。与普通的Python列表不同,Series可以有一个索引,该索引可以是整数型或标签型(例如时间序列)。

# 创建一个Series示例
ages = pd.Series([28, 34, 29, 40], name="Age")
print(ages)

数据导入与导出

读取CSV文件

Pandas使得读取文件(如CSV文件)变得非常简单。以下是如何读取CSV文件的示例代码。

# 读取CSV文件
df = pd.read_csv('path/to/your/csv/file.csv')
print(df.head())

写入CSV文件

同样,Pandas也可以轻松地将DataFrame写入CSV文件。

# 写入CSV文件
df.to_csv('path/to/your/new/csv/file.csv', index=False)

数据清洗与预处理

缺失值处理

处理数据集中的缺失值是数据预处理的重要步骤。Pandas提供了多种方法来处理缺失值。

# 处理缺失值:填充与删除
df.fillna(0, inplace=True) # 用0填充缺失值
df.dropna(inplace=True) # 删除含有缺失值的行

数据筛选与过滤

Pandas提供了灵活的方法来筛选满足特定条件的数据。

# 数据筛选
young_people = df[df['Age'] < 30]
print(young_people)

数据探索与分析

基本统计

Pandas支持各种统计方法,帮助我们快速理解数据的基本特性。

# 基本统计
print(df.describe())

分组与聚合

分组(Grouping)和聚合(Aggregating)是数据分析中的强大工具,允许我们按照某个或某些特定的列来组织数据,并进行统计分析。

# 分组与聚合
grouped = df.groupby('City')
print(grouped.mean())

数据可视化入门

利用Matplotlib集成进行数据可视化

Pandas与Matplotlib紧密集成,支持直接从DataFrame和Series进行绘图。

import matplotlib.pyplot as plt

# 数据可视化示例
df.plot(kind='bar', x='Name', y='Age')
plt.show()

基本图表绘制

在数据分析中,图表是理解数据的重要工具之一。通过可视化,我们可以直观地看到数据的模式、趋势和异常值。Pandas提供了简单而强大的绘图功能,大部分是建立在Matplotlib库之上的。这意味着你可以用很少的代码来生成各种类型的图表。以下是一些基本图表的绘制方法,将帮助你更好地理解你的数据。

折线图

折线图非常适合展示数据随时间变化的趋势。如果你正在处理时间序列数据,折线图应该是你的首选。

import pandas as pd
import matplotlib.pyplot as plt

# 创建数据
data = pd.Series([1, 3, 2, 4, 6, 8, 7, 9], index=pd.date_range('20200101', periods=8))

# 绘制折线图
data.plot()
plt.title('Time Series Plot')
plt.xlabel('Date')
plt.ylabel('Value')
plt.show()
柱状图

柱状图是表示类别数据对比情况的理想选择。它可以帮助我们比较不同类别或时间点的数据量。

# 创建数据
data = pd.DataFrame({'A': [1, 2, 3], 'B': [3, 2, 1]}, index=['X', 'Y', 'Z'])

# 绘制柱状图
data.plot(kind='bar')
plt.title('Bar Chart')
plt.xlabel('Category')
plt.ylabel('Value')
plt.legend(title='Type')
plt.show()
散点图

散点图用于展示两个变量之间的关系,是寻找变量间相互作用的有力工具。

# 创建数据
df = pd.DataFrame({
    'X': range(1, 6),
    'Y': [1,4,6,8,4]
})

# 绘制散点图
df.plot(kind='scatter', x='X', y='Y')
plt.title('Scatter Plot')
plt.xlabel('X Value')
plt.ylabel('Y Value')
plt.show()
直方图

直方图是理解数据分布的重要工具,特别是当你想要知道数据的集中趋势和分散程度时。

# 创建数据
data = pd.Series([1, 2, 2, 3, 4, 4, 4, 5, 6])

# 绘制直方图
data.plot(kind='hist', bins=5)
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()

通过上述示例,我们可以看到,Pandas和Matplotlib的结合使用可以非常便捷地绘制各种类型的图表。掌握这些基础图表绘制技巧对于数据分析是非常有帮助的,可以让你从不同角度理解数据。继续实践和探索,你将能够发现数据背后更深层次的信息。

高级Pandas技巧

数据合并与重塑

Pandas提供了多种方法来合并、连接和重塑数据集。

# 数据合并示例
pd.merge(df1, df2, on='key')

时间序列数据处理

Pandas在处理时间序列数据方面也非常强大,支持时间索引和重采样等操作。

# 时间序列数据处理
timeseries = pd.date_range('2020-01-01', periods=6, freq='D')
df = pd.DataFrame(index=timeseries, data={'Value': [1, 2, 3, 4, 5, 6]})
df.resample('M').mean()

通过本篇笔记,希望能帮助你对Pandas有一个初步的了解,通过实践来进一步掌握这个强大的工具。

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是Yu欸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值