百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Pandas,一个数据分析、处理与可视化无敌的 Python 库!

liuian 2025-02-15 16:32 12 浏览

# 小伙伴们,大家好!今天我们要一起探索的,是Python中一个强大的数据分析、处理与可视化库——Pandas。
如果你经常需要处理数据,无论是做科研、数据分析还是简单的数据整理,Pandas都能成为你的得力助手。
它提供了丰富的数据结构和函数,让数据操作变得简单又高效。
接下来,我们就一起揭开Pandas的神秘面纱吧!

## 一、初识Pandas

Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。
它提供了两种主要的数据结构:**Series**(一维)和**DataFrame**(二维),
这两种数据结构足以满足我们日常大部分的数据处理需求。

### 1. 安装Pandas

在开始使用Pandas之前,我们需要先安装它。如果你还没有安装,可以使用以下命令:

```bash
pip install pandas

2. 导入Pandas

每次使用Pandas前,我们需要先导入它,通常我们会用pd作为别名:

import pandas as pd

二、Series,一维数据的利器

Series是Pandas中的一维数据结构,可以存储任何数据类型。你可以把它想象成一个加强版的Python列表,不仅支持基本的数据操作,还提供了许多便捷的数据处理方法。

1. 创建Series

# 创建一个简单的Series
data = pd.Series([1, 3, 5, 7, 9])
print(data)

运行结果

0    1
1    3
2    5
3    7
4    9
dtype: int64

2. Series的基本操作

# 访问Series中的元素
print(data[0])  # 输出第一个元素
print(data[1:3])  # 切片操作,输出第2到第3个元素

# 修改Series中的元素
data[0] = 10
print(data)

小贴士:Series的索引是从0开始的,和Python的列表一样。

三、DataFrame,二维数据的王者

DataFrame是Pandas中的二维数据结构,类似于Excel中的表格,或者Python中的嵌套列表。它支持非常丰富的操作,是数据分析中的核心工具。

1. 创建DataFrame

# 创建一个简单的DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

运行结果

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

2. DataFrame的基本操作

# 访问DataFrame中的列
print(df['Name'])  # 访问Name列
print(df[['Name', 'Age']])  # 访问多列

# 访问DataFrame中的行
print(df.loc[0])  # 通过索引标签访问第一行
print(df.iloc[1])  # 通过索引位置访问第二行

# 修改DataFrame中的元素
df.loc[0, 'Age'] = 26
print(df)

小贴士loc是通过索引标签来访问数据的,而iloc是通过索引位置来访问数据的。

3. 常用的DataFrame方法

# 描述统计信息
print(df.describe())  # 输出数值列的统计信息

# 排序
sorted_df = df.sort_values(by='Age')
print(sorted_df)

# 添加新列
df['Salary'] = [70000, 80000, 90000]
print(df)

# 删除列
df.drop('Salary', axis=1, inplace=True)
print(df)

注意事项drop方法中的axis=1表示删除列,inplace=True表示在原DataFrame上修改。

四、数据筛选与过滤

在处理数据时,我们经常需要根据某些条件筛选或过滤数据。Pandas提供了非常便捷的方法来实现这些操作。

1. 条件筛选

# 筛选出年龄大于30的行
filtered_df = df[df['Age'] > 30]
print(filtered_df)

2. 逻辑运算筛选

# 筛选出年龄大于25且城市为New York的行
filtered_df = df[(df['Age'] > 25) & (df['City'] == 'New York')]
print(filtered_df)

小贴士:在逻辑运算中,使用&表示“且”,使用|表示“或”。

五、数据缺失处理

在实际的数据分析中,数据缺失是一个常见的问题。Pandas提供了多种方法来处理缺失数据。

1. 检查缺失数据

# 创建一个包含缺失数据的DataFrame
data = {
    'Name': ['Alice', 'Bob', None],
    'Age': [25, None, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

# 检查缺失数据
print(df.isnull())  # 返回一个布尔DataFrame,标记缺失值

2. 处理缺失数据

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

# 填充缺失值
df_filled = df.fillna({'Name': 'Unknown', 'Age': 0})
print(df_filled)

小贴士dropna方法默认删除包含任何缺失值的行,可以通过参数how='all'来删除全部为缺失值的行。

六、数据分组与聚合

分组与聚合是数据分析中的重要操作,Pandas的groupby方法让这一切变得简单。

1. 数据分组

# 按城市分组
grouped = df.groupby('City')
print(grouped)

2. 聚合操作

# 计算每个城市的平均年龄
age_mean = grouped['Age'].mean()
print(age_mean)

# 对每个城市的年龄进行求和
age_sum = grouped['Age'].sum()
print(age_sum)

小贴士:除了meansum,Pandas还支持许多其他的聚合函数,如countminmax等。

七、数据可视化

虽然Pandas本身不是专门用于数据可视化的库,但它与Matplotlib等可视化库结合得非常好,可以方便地进行简单的数据可视化。

1. 导入Matplotlib

import matplotlib.pyplot as plt

2. 绘制简单图表

# 绘制年龄的直方图
df['Age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.title('Age Distribution')
plt.show()

小贴士plot方法是Pandas的DataFrame和Series对象自带的,可以非常方便地绘制各种图表。

结语

小伙伴们,今天的Python学习之旅就到这里啦!我们一起探索了Pandas的基本概念和常用操作,包括Series和DataFrame的创建与操作、数据筛选与过滤、数据缺失处理、数据分组与聚合以及简单的数据可视化。Pandas是一个非常强大的库,掌握它将会大大提升你的数据分析能力。记得动手敲代码,多实践才能更深入地理解哦!有问题随时在评论区问猿小哥哦。祝大家学习愉快,Python学习节节高!

相关推荐

x-cmd install | jellex - 用 Python 语法在终端里玩转 JSON 数据!

还在为命令行下处理JSON数据烦恼吗?jellex来了!它是一款基于终端的交互式JSON和JSONLines数据处理工具,让你用熟悉的Python语法,轻松过滤、转换和探索JSO...

一篇长文带你在Python里玩转Json数据

Json简介Json(JavaScriptObjectNotation)很多网站都会用到Json格式来进行数据的传输和交换,就像上篇我提到的网易云音乐接口,它们返回的数据都是Json格式的。这因为...

Python JSON 魔法手册:数据转换的终极艺术

对话实录小白:(崩溃)我从API拿到了JSON数据,怎么变成Python对象?专家:(掏出魔法书)用json模块,轻松实现数据转换!JSON基础三连击1.字符串Python对...

Python JSON 详解教程(python json())

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式(lightweightdatainterchangeformat)常用于Web应用、配置文件(co...

Python 数据的 JSON 格式序列化及反序列化

在Python中,将数据转换为JSON格式非常简单,可以使用内置的json模块。json模块提供了json.dumps()和json.dump()方法,用于将Python对象...

如何使Python类可JSON序列化(python json 类)

技术背景在Python开发中,JSON(JavaScriptObjectNotation)是一种常用的数据交换格式。然而,Python的json模块默认只能序列化一些基本数据类型,如字典、列表、字...

详细介绍一下Python如何对JSON格式数据进行处理?

在Python中对于JSON数据的处理是在日常开发中的常见需求之一。通常情况下,对JSON数据的处理主要涉及到如下的的几个步骤对于JSON数据的解析操作对于JSON数据的处理操作对于JSON数据的格式...

Python 字典l转换成 JSON(python转化字典)

本文需要5分钟。如果对您有用可以点赞评论关注.Python字典到JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它基于ECMAScrip...

打造熟悉的VS界面风格(vs界面设计美化)

用惯了老机子的VS界面,换新机子时,各种不适应。现在重新打造老款样式:1)下载VisualStudio2013ColorThemeEditorhttps://marketplace.vis...

办公小技巧:全部亮相 让Excel单元格完全显示文本

平时我们在使用Excel制作表格的时候,经常会遇到由于文本内容较多,导致这些内容无法在一个单元格中完全显示。常规的方法是将单元格设置为“自动换行”,但是这样会影响整个文件的美观。下例是某小区的入住登记...

WinForms 中的 CheckBox 控件使用指南

在WinForms中,CheckBox控件是一个允许用户选择或取消选择的单选按钮。它通常用于表示布尔值(真/假)或允许多选的情况。以下是如何使用CheckBox控件的一些基本信息和示例代码。创建...

图片转文字--四种OCR工具的安装和使用

本文仅测试简单的安装和使用,下一步应该是测试不同数据集下的检测准确率和检测效率,敬请期待。作者的系统环境是:笔记本:ThindPadP520OS:win11显卡:QuadroP520一、EasyO...

C# 给Word每一页设置不同图片水印

Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法。下面,将以C#代码为例,对W...

集成的面向对象控件Xtreme Controls正式发布v17.0.0

CodejockXtremeControls为Windows图形用户软件工程师提供众多的有关MFC的控件产品,该产品是通过完全测试并专门为图形用户设计的一款专业控件。它是一款集成了面向对象的控件被...

Win10 Build 10061老问题修复新问题来

|责编:刘菲菲【中关村在线软件资讯】4月23日消息:微软今天正式推送了Windows10Build10061预览版这个版本除了正常的功能更新和调整外,还修复了多个bug。其中一部分对于开发者开...