迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Pandas DataFrame 中将列移到前面

作者:迹忆客 最近更新:2024/04/20 浏览次数:

Python 有一个名为 Pandas 的数据分析库。我们可以在 Python 中使用 Pandas 对 DataFrame 执行许多不同类型的操作。

本指南将解释重新排序 pandas DataFrame 中的列以使其移到前面的方法。


在 Pandas DataFrame 中将一列移到最前面

假设我们要重新排列 DataFrame 中列的位置。Pandas 提供了 insert()reindex() 方法,它们将单列移动到 Pandas DataFrame 的前面。

使用 pop()insert() 方法

这个想法是使用 pop() 方法删除我们想要移动到前面的列。然后通过指定要插入的位置,使用 insert() 方法将该列再次插入到 DataFrame 中。

在下面的代码中,我们有一个由学生记录组成的 DataFrame。我们的目标是将名称列移到前面。

首先,我们将使用 pop() 方法将其删除,pop() 方法将我们要删除的列标签作为参数并返回它。我们将返回的列存储在 col 中。

通过 insert() 方法,我们通过将列的位置定义为 loc=0(第一列位置)、列名和实际列)将列推回 DataFrame。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
}
df = pd.DataFrame(student)
print(df)
col = df.pop("Name")
df.insert(loc=0, column="Name", value=col)
print(df)

输出:

$python3 Main.py

   Course  Marks  Age   Name
0    Java     70   19   Jhon
1  Python     80   20  Aliya
2     C++     90   21   Nate
3    Dart     60   19  Amber
    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19

使用 reindex() 方法

我们可以通过重新索引它们来重新排列列。reindex() 方法对列进行重新排序。

该方法在 pandas.DataFrame 模块中可用。我们将按照我们想要的顺序提供列名列表,并将 listDataFrame 传递给 reindex() 方法以返回更新的 DataFrame。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
}
df = pd.DataFrame(student)
print(df)
df = pd.DataFrame.reindex(df, columns=["Name", "Course", "Marks", "Age"])
print(df)

输出:

$python3 Main.py

   Course  Marks  Age   Name
0    Java     70   19   Jhon
1  Python     80   20  Aliya
2     C++     90   21   Nate
3    Dart     60   19  Amber
    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便