在Python中按行拆分Pandas DataFrame

2025年1月5日 | 阅读 5 分钟

Pandas 是一个强大且开源的 Python 库,用于数据操作,在执行数据分析任务时非常有用;pandas 提供了对执行数据分析任务非常有帮助的数据结构和函数。Pandas 构建在 NumPy 库之上,非常适合处理表格数据,如电子表格或 SQL 表。Pandas 库功能强大且易于使用,使其成为数据分析的有力工具。数据科学家使用 Pandas 在 Python 中处理结构化数据。

Pandas 与其他用于数据科学的库结合使用。Pandas 构建在 NumPy 库之上,这意味着许多函数都取自 NumPy。Pandas 生成的数据用于绘制 Matplotlib 的函数,在 SciPy 中进行统计分析,以及在 Scikit-learn 中使用机器学习算法。Pandas 库的功能

  1. 数据清洗、数据整理和连接。
  2. 浮点数和非浮点数数据的缺失值插补都很容易。
  3. 可以在 DataFrame 中插入和删除列。

数据可视化。

pd 代表 Pandas 的别名。使用别名并非必需;此别名只是有助于每次编写更少的代码,并且可以用来清晰地编写代码。

Pandas 提供了两种数据结构

  • Series
  • 数据帧(DataFrame)

Pandas Series

Pandas Series 是一维数组,用于保存任何类型的数据(整数、字符串、浮点数、Python 对象等)。轴标签称为索引。Pandas Series 类似于 Excel 表格中的一列。Pandas Series 中的标签不一定唯一,但必须是可哈希的类型。让我们看看如何在 Pandas 中创建 Series。Series 可以通过列表、字典、标量值等创建。

输出

Pandas Series:  Series([], dtype: float64)
Pandas Series:
 0    p
1    a
2    n
3    d
4    a
dtype: object

在上面的代码中,pandas 库被导入为 pd,NumPy 库被导入为 np。使用 Pandas 提供的 Series 方法创建了一个 Series,并使用 numpy 中的 array() 方法创建了一个字符的 numpy 数组;数组值被传递给 pandas 中的 series() 方法,然后打印 Series。

让我们看看如何在 Pandas 中创建 DataFrame

DataFrame 类似于表格,其中值以行和列的形式存储。DataFrame 可以通过加载 SQL 数据库、CSV 文件或 Excel 文件中的数据集来创建。Pandas DataFrame 也可以由列表、字典和字典列表等创建。

示例

输出

Empty DataFrame
Columns: []
Index: []
        0
0    Data
1   Frame
2      in
3  Pandas

说明

在上面的代码中,导入了 pandas 模块,创建了一个 DataFrame 构造函数,创建了一个列表,将列表传递给了 DataFrame 构造函数,然后打印了数据。

许多时候,当你尝试导入 pandas 时会出现导入错误。这是由于 pandas 库安装不当,或者 pandas 库未安装导致的。

让我们看看如何拆分 Pandas DataFrame

示例

输出

Create DataFrame:
    Courses    Fee  Discount Duration
0    Spark  22000      1000   35days
1  PySpark  25000      2300   35days
2   Hadoop  23000      1000   40days
3   Python  24000      1200 30 days
4   Pandas  26000      2500   25days

说明

在上面的代码中,导入了 Pandas 模块,并使用字典创建了一个 DataFrame。使用 Pandas 提供的本地方法分割了列值。

使用 iloc[] 分割函数按行拆分 Pandas DataFrame

Python 提供的 iloc 属性有助于按行拆分 DataFrame。iloc 用于按位置或索引获取行和列。

按行拆分 DataFrame

此方法用于根据行获取 DataFrame 的特定部分。让我们看看如何拆分 DataFrame。

代码

输出

Create DataFrame:
    Courses    Fee  Discount Duration
0    Spark  22000      1000   35days
1  PySpark  25000      2300   35days
2   Hadoop  23000      1000   40days
3   Python  24000      1200 30 days
4   Pandas  26000      2500   25days
=========================
   Courses    Fee  Discount Duration
0    Spark  22000      1000   35days
1  PySpark  25000      2300   35days
=========================
  Courses    Fee  Discount Duration
2  Hadoop  23000      1000   40days
3  Python  24000      1200 30 days
4  Pandas  26000      2500   25days

说明

在上面的代码中,导入了 Pandas 模块,并使用字典数据创建了一个 DataFrame。使用本地方法,按行拆分了 DataFrame。

按列拆分 DataFrame

可以使用基于行的本地方法将 DataFrame 拆分到列中。让我们看看如何按列拆分 DataFrame。

代码

输出

Create DataFrame:
    Courses    Fee  Discount Duration
0    Spark  22000      1000   35days
1  PySpark  25000      2300   35days
2   Hadoop  23000      1000   40days
3   Python  24000      1200   30days
4   Pandas  26000      2500   25days
=========================
   Courses    Fee
0    Spark  22000
1  PySpark  25000
2   Hadoop  23000
3   Python  24000
4   Pandas  26000
=====================
   Discount Duration
0      1000   35days
1      2300   35days
2      1000   40days
3      1200   30days
4      2500   25days
=====================

说明

在上面的代码中,导入了 Pandas 模块,并使用字典创建了一个 DataFrame。数据根据行被拆分到列中。

结论

在数据分析的上下文中,在 Pandas 中拆分行非常重要。有各种方法可以在 Python 中将 Pandas DataFrame 拆分到行。


下一主题SQL 使用 Python