📜  python pandas 系列到数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:34:03.144000             🧑  作者: Mango

Python Pandas系列之数据框

概述

Pandas是一种数据分析工具,它提供了高效的数据框(DataFrame)和序列(Series)操作,可以满足各种数据处理需求。数据框是Pandas的核心数据结构,类似于Excel中的表格,可以存储和处理大量数据。

在本系列中,我们将深入讲解Pandas中数据框的各种操作,包括创建、修改、合并、筛选、排序等。同时,我们将结合实例进行详细讲解,帮助程序员学以致用。

创建数据框

首先,让我们来创建一个简单的数据框。以下代码使用字典创建一个数据框:

import pandas as pd

data = {'Name': ['Tom', 'Jack', 'Steve'],
        'Age': [28, 34, 29],
        'Country': ['US', 'Canada', 'UK']}
df = pd.DataFrame(data)
print(df)

输出:

| | Name | Age | Country | |---:|:-------|------:|:----------| | 0 | Tom | 28 | US | | 1 | Jack | 34 | Canada | | 2 | Steve | 29 | UK |

代码解释:

  1. 首先导入pandas模块,并将其重命名为pd,这是一种常用的编程规范。

  2. 定义一个字典data,该字典包含三个键值对,分别为'Name'、'Age'和'Country',对应的值为列表,分别存储着三个人的姓名、年龄和国家。

  3. 使用pd.DataFrame()函数将字典转换成数据框,并将结果赋值给变量df。

  4. 最后输出df的值,即可获得上述表格。

修改数据框

接下来,我们将介绍如何修改数据框中的数据。以下代码更新数据框中一列的值:

df['Age'] = [30, 36, 31]
print(df)

输出:

| | Name | Age | Country | |---:|:-------|------:|:----------| | 0 | Tom | 30 | US | | 1 | Jack | 36 | Canada | | 2 | Steve | 31 | UK |

代码解释:

  1. 使用类似于字典访问的方式,通过列名,可以获取数据框中某一列的数值。

  2. 通过赋值的方式,可以修改数据框中某一列的数值。

筛选数据框

筛选数据框是数据分析中经常用到的操作。以下代码演示了如何选择数据框中符合某些条件的数据:

df2 = df[df['Age']>30]
print(df2)

输出:

| | Name | Age | Country | |---:|:-------|------:|:----------| | 1 | Jack | 36 | Canada |

代码解释:

  1. df['Age']>30是一个布尔型序列,其中包含了判断每个元素是否大于30的结果。

  2. df[df['Age']>30]的运算结果是一个新的数据框,它只包含满足条件的那些行。

合并数据框

有时候我们需要将多个数据框合并成一个大的数据框。Pandas提供了多种方式来进行数据框的合并。以下代码演示了如何通过拼接的方式将两个数据框合并:

data1 = {'Name': ['Tom', 'Jack', 'Steve'],
        'Age': [28, 34, 29]}
data2 = {'Country': ['US', 'Canada', 'UK'],
        'Salary': [5000, 4500, 6000]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

df3 = pd.concat([df1, df2], axis=1)
print(df3)

输出:

| | Name | Age | Country | Salary | |---:|:-------|------:|---------:|---------:| | 0 | Tom | 28 | US | 5000 | | 1 | Jack | 34 | Canada | 4500 | | 2 | Steve | 29 | UK | 6000 |

代码解释:

  1. 首先定义两个字典data1和data2,分别包含了两个数据框中的数据。

  2. 使用pd.DataFrame()函数将两个字典分别转换成数据框df1和df2。

  3. 使用pd.concat()函数将两个数据框拼接起来,并将结果赋值给变量df3。axis=1表示按列进行拼接,即将df1和df2中的列进行合并。

  4. 输出df3的值,即可获得上述表格。

排序数据框

排序是数据分析中常用的操作之一。以下代码演示了如何对数据框中的数据进行排序:

df4 = df.sort_values(by='Age')
print(df4)

输出:

| | Name | Age | Country | |---:|:-------|------:|:----------| | 0 | Tom | 30 | US | | 2 | Steve | 31 | UK | | 1 | Jack | 36 | Canada |

代码解释:

  1. 使用df.sort_values()函数可以对数据框中的数据进行排序。

  2. by='Age'表示按照'Age'这一列进行排序。

  3. 输出df4的值,即可获得上述表格。

总结

本文介绍了Pandas数据框(DataFrame)的基本操作,包括创建、修改、筛选、排序和合并等。Pandas强大的数据分析能力,可以帮助程序员高效地进行数据分析和处理,为实现科学计算和机器学习提供了有力的支持。