深入了解pandas库

Python中最流行的数据处理库之一是Pandas。 Pandas的目标是提供一个在Python中操作表格类数据(如电子表格或SQL数据库表)的高级数据结构和分析工具。 本文将对 Pandas 中最常用的功能和方法进行详细讲解。

一、数据结构

Pandas 库提供了两种主要数据结构,Series 和 DataFrame。

1. Series 数据结构

一个 Series 是一维数组对象,可以存储任何数据类型(整数,字符串,浮点数,Python对象等)。 Series 可以看做是由两个数组组成,一个用于存储数据,另一个用于存储标签或索引,即 Series 中的 index。

import pandas as pd
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

输出:

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

2. DataFrame 数据结构

一个 DataFrame 可以看做是在一个或多个轴(行和列)上具有标签索引(类似于一个 Excel 表格或 SQL 中的表)。 Pandas DataFrame 可以存储多种类型的数据,并将其视为二维表。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)
print(df)

输出:

       name  age gender
0     Alice   25      F
1       Bob   32      M
2   Charlie   18      M
3     David   47      M

二、文件读取和写入

Pandas 支持各种文件格式的读取和写入,包括 CSV、Excel、SQL、JSON、HTML 和 HDF5 等。Pandas 提供了许多文件读取和写入函数,其中最常用的是 read_csv() 和 to_csv() 函数。

1. 读取 CSV 文件

import pandas as pd
df = pd.read_csv('file.csv')
print(df)

2. 写入 CSV 文件

import pandas as pd
df = pd.read_csv('file.csv')
df.to_csv('new_file.csv', index=False)

三、数据查询和过滤

Pandas 为数据查询和过滤提供了多种功能,如筛选行、选择列、分组、排序和合并等。

1. 筛选行

使用 loc 和 iloc 两个函数筛选行。其中loc可以使用标签进行筛选,iloc可以使用索引进行筛选。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

df = df.loc[df['age'] > 30]
print(df)

2. 选择列

使用 df.列名 或 df[列名] 进行列的选择。df.列名 只允许选择一个列,而df[列名] 可以同时选择多个列。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

print(df['name'])
print(df[['name', 'age']])

3. 分组聚合

使用 groupby 函数将数据按照某个字段(列)进行分组,然后对每组数据进行聚合操作,如求平均值、求和、计数等。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

grouped = df.groupby(by='gender')
print(grouped['age'].mean())

4. 排序

使用 sort_values 函数对数据进行排序,默认为升序排序。

import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47], 
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)

df.sort_values(by='age', inplace=True)
print(df)

四、数据可视化

Pandas 可以使用多种图表库(如 Matplotlib 和 Seaborn 等)进行数据可视化操作,用于帮助我们更好地理解和分析数据。

1. 折线图

使用 plot 函数进行折线图的绘制。

import pandas as pd
import matplotlib.pyplot as plt

data = {'year': [2010, 2011, 2012, 2013, 2014, 2015, 2016],
        'sales': [100, 200, 300, 400, 500, 600, 700]}
df = pd.DataFrame(data)

df.plot(x='year', y='sales', kind='line')
plt.show()

2. 柱状图

使用 plot 函数进行柱状图的绘制。

import pandas as pd
import matplotlib.pyplot as plt

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 
        'age': [25, 32, 18, 47]}
df = pd.DataFrame(data)

df.plot(x='name', y='age', kind='bar', color='purple')
plt.show()

3. 散点图

使用 plot 函数进行散点图的绘制。

import pandas as pd
import matplotlib.pyplot as plt

data = {'x': [1, 2, 3, 4, 5], 
        'y': [2, 4, 1, 3, 5]}
df = pd.DataFrame(data)

df.plot(x='x', y='y', kind='scatter', color='red')
plt.show()

原创文章,作者:ZVSD,如若转载,请注明出处:https://www.506064.com/n/136661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ZVSDZVSD
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相关推荐

  • Pandas下载whl指南

    本篇文章将从几个方面为大家详细解答如何下载Pandas的whl文件。 一、Pandas简介 Pandas是一个基于Python的软件库,主要用于数据分析、清洗和处理。在数据处理方面…

    编程 2025-04-28
  • 如何在Python中安装和使用Pandas

    本文将介绍如何安装和使用Python的Pandas库 一、Pandas库的介绍 Pandas是Python的一个数据分析库,提供了许多实用的数据结构和数据分析工具,可以帮助用户轻松…

    编程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在开发过程中引入了新的API `defineExpose`。在以前的版本中,我们经常使用 `$attrs` 和` $listeners` 实现父组件与子组件之间的通信,但…

    编程 2025-04-25
  • 深入理解byte转int

    一、字节与比特 在讨论byte转int之前,我们需要了解字节和比特的概念。字节是计算机存储单位的一种,通常表示8个比特(bit),即1字节=8比特。比特是计算机中最小的数据单位,是…

    编程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什么是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一个内置小部件,它可以监测数据流(Stream)中数据的变…

    编程 2025-04-25
  • 深入探讨OpenCV版本

    OpenCV是一个用于计算机视觉应用程序的开源库。它是由英特尔公司创建的,现已由Willow Garage管理。OpenCV旨在提供一个易于使用的计算机视觉和机器学习基础架构,以实…

    编程 2025-04-25
  • 深入了解scala-maven-plugin

    一、简介 Scala-maven-plugin 是一个创造和管理 Scala 项目的maven插件,它可以自动生成基本项目结构、依赖配置、Scala文件等。使用它可以使我们专注于代…

    编程 2025-04-25
  • 深入了解LaTeX的脚注(latexfootnote)

    一、基本介绍 LaTeX作为一种排版软件,具有各种各样的功能,其中脚注(footnote)是一个十分重要的功能之一。在LaTeX中,脚注是用命令latexfootnote来实现的。…

    编程 2025-04-25
  • 深入理解Python字符串r

    一、r字符串的基本概念 r字符串(raw字符串)是指在Python中,以字母r为前缀的字符串。r字符串中的反斜杠(\)不会被转义,而是被当作普通字符处理,这使得r字符串可以非常方便…

    编程 2025-04-25
  • 深入了解Python包

    一、包的概念 Python中一个程序就是一个模块,而一个模块可以引入另一个模块,这样就形成了包。包就是有多个模块组成的一个大模块,也可以看做是一个文件夹。包可以有效地组织代码和数据…

    编程 2025-04-25

发表回复

登录后才能评论