Python Pandas – 返回索引的转置

Python Pandas – 返回索引的转置

在Pandas中,我们经常需要对数据进行转置,以便更好地分析和可视化。一个常见的需求是将数据框的索引与列进行转置。在本文中,我们将学习如何使用Pandas在Python中将索引转置为列。

安装Pandas

在开始之前,请确保您已安装Pandas。如果您使用Anaconda,那么Pandas已经安装在您的系统中。否则,您可以使用pip安装Pandas。

pip install pandas

创建数据框

我们将使用一个简单的数据框来演示如何转换索引为列。下面的代码将创建一个带有两列和两个索引的数据框。

import pandas as pd

data = {'John':[78, 99], 'Tom':[89, 91]}
df = pd.DataFrame(data, index=['Math', 'Science'])
print(df)

输出结果:

         John  Tom
Math       78   89
Science    99   91

我们的数据框有两个行索引:Math和Science。现在,我们将学习如何将这些索引转换为列。

使用reset_index()方法转换索引

我们将使用reset_index()方法来将索引转换为列。此方法将当前的行索引重置为数字索引,并将旧的行索引作为新列添加到数据框中。

df_transposed = df.reset_index()
print(df_transposed)

输出结果:

     index  John  Tom
0     Math    78   89
1  Science    99   91

现在我们可以看到,我们的行索引已变成了一个名为“index”的新列。这使得我们可以更方便地对数据框进行操作和分析。

使用stack()方法转换列

我们还可以使用stack()方法将列转换为行。此方法将所有列转换为行,其中每一行都包含列名称、行索引和单个数据。

df_stacked = df.stack().reset_index()
print(df_stacked)

输出结果:

     level_0 level_1   0
0      Math    John  78
1      Math     Tom  89
2   Science    John  99
3   Science     Tom  91

现在我们可以看到,数据框已被转换为三列:level_0,level_1和0。我们可以通过将列名设置为更有意义的名称来改善它们。

df_stacked = df.stack().reset_index()
df_stacked.columns = ['Subject', 'Name', 'Score']
print(df_stacked)

输出结果:

   Subject  Name  Score
0     Math  John     78
1     Math   Tom     89
2  Science  John     99
3  Science   Tom     91

现在我们的数据框已转换为包含三个有意义的列的形式,可以更方便地对其进行分析。

结论

在本文中,我们学习了如何使用Pandas将数据框的行索引和列转换为列。我们使用了reset_index()方法来将行索引转换为列,并使用stack()方法将列转换为行。这些技术可以帮助我们更方便地操作和分析数据框,是在Pandas中进行数据分析的重要工具。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程