Pandas 将列值转换为列

Pandas 将列值转换为列

在本文中,我们将介绍如何在Pandas中将列值转换为列。这对于数据转换和清洗非常有用。

阅读更多:Pandas 教程

什么是Pandas?

如果你是Python数据科学家,那么你一定听说过Pandas。Pandas是一个强大的数据分析库,提供了许多数据操作和转换的功能。它可以将各种数据源导入为Pandas数据框架,包括CSV、Excel、SQL数据库和JSON格式等。

示例数据

要进行示例,请先导入Pandas库并使用以下示例数据:

import pandas as pd

data = {'Name': ['John', 'Jane', 'Joe', 'Jim'],
        'Age': [25, 30, 18, 21],
        'Gender': ['Male', 'Female', 'Male', 'Male']}

df = pd.DataFrame(data)
Python

此处我们使用了一个简单的数据集,其中包含四个人的姓名、年龄和性别。Pandas数据框架(DataFrame)是一种二维表格形式的数据结构,可以将数据以行和列的形式组织起来。

转换Pandas列值为列

有时候,我们需要将某些值作为列,而不是作为行来表示数据。这时候就需要使用pivotpivot_table功能。以下是示例代码:

使用pivot

df_pivot = df.pivot(index=None, columns='Gender', values='Age')

print(df_pivot)
Python

输出:

Gender  Female  Male
0          NaN  25.0
1         30.0   NaN
2          NaN  18.0
3          NaN  21.0
Python

使用pivot函数将’Gender’这一列中的值作为新列。’Age’列中的值则分别对应新列中的数值。为了方便,我们还删除了原始数据框架中的索引列。注意,本例中的数据集非常小,所以产生了一些缺失数据(NaN)。

使用pivot_table

经常使用的是pivot_table。它与pivot类似,但可以处理含有重复条目的复合索引。以下是示例代码:

df_pivot_table = pd.pivot_table(df, values='Age', index=['Name'], columns=['Gender'])

print(df_pivot_table)
Python

输出:

Gender  Female  Male
Name               
Jane      30.0   NaN
Jim        NaN  21.0
Joe        NaN  18.0
John       NaN  25.0
Python

使用pivot_table函数将’Gender’这一列中的值作为新列,并用’Name’作为索引列。’Age’列中的值则分别对应新列中的数值。这样就不需要生成新的数据框架了,因为原来的索引列已经能够用作转换的索引。

总结

在本文中,我们介绍了Pandas中如何将列值转换为列。使用pivotpivot_table函数可以大大简化操作,并减少代码复杂度。Pandas是Python数据科学家的有力工具之一。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册