迹忆客 专注技术分享

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

Pandas DataFrame DataFrame.transpose()函数

作者:迹忆客 最近更新:2023/03/21 浏览次数:

Python Pandas DataFrame.transpose() 函数将 DataFrame 的行改为列,列改为行。换句话说,它生成一个新的 DataFrame,它是原 DataFrame 的转置。

pandas.DataFrame.transpose() 的语法

DataFrame.transpose(*args,
                    copy= False) 

参数

   
*args 这些是与 NumPy 兼容的附加关键字参数
copy 它是一个布尔值。它决定 DataFrame 的值在进行转置后是否会被复制。默认情况下,它的值是 False

返回值

它返回一个转置的 DataFrame。原有的 DataFrame 的行是返回的 DataFrame 中的列,反之亦然。

示例代码:DataFrame.transpose()

我们将在接下来的代码中实现这个功能。

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

print(dataframe)

示例 DataFrame 就是:

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

这个函数的所有参数都是可选的。如果我们在执行这个函数时不传递任何参数,那么它将产生以下输出。

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

dataframe1 = dataframe.transpose()
print(dataframe1)

输出:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

示例代码:DataFrame.transpose() 转置具有统一数据类型的 DataFrame

对于同质数据和混合数据类型,该函数的行为是不同的。我们将逐一分析。如果我们有一个同质类型的 DataFrame,那么原始的和转置的 Dataframes 的数据类型是一样的。

同质数据类型的 DataFrame 如下所示

import pandas as pd

dataframe = pd.DataFrame({'A': {0: 6, 1: 20, 2: 80,3: 78,4: 95}, 
                          'B': {0: 60, 1: 50, 2: 7,3: 67,4: 54}})

print(dataframe)

我们的 DataFrame 是:

    A   B
0   6  60
1  20  50
2  80   7
3  78  67
4  95  54
5  98  34

要得到这个 DataFrame 的转置。

import pandas as pd

dataframe = pd.DataFrame({'A': {0: 6, 1: 20, 2: 80,3: 78,4: 95}, 
                          'B': {0: 60, 1: 50, 2: 7,3: 67,4: 54}})

dataframe1 = dataframe.transpose()
print(dataframe1)

输出:

    0   1   2   3   4
A   6  20  80  78  95
B  60  50   7  67  54

现在,我们来分析一下原始的 DataFrame 和返回的 DataFrame 的数据类型。

import pandas as pd

dataframe = pd.DataFrame({'A': {0: 6, 1: 20, 2: 80,3: 78,4: 95}, 
                          'B': {0: 60, 1: 50, 2: 7,3: 67,4: 54}})

dataframe1 = dataframe.transpose()

print(dataframe.dtypes)
print(dataframe1.dtypes)

输出:

A    int64
B    int64
dtype: object
0    int64
1    int64
2    int64
3    int64
4    int64
dtype: object

请注意原始 DataFrame 和转置后的 DataFrame 的数据类型是一样的。

示例代码:DataFrame.transpose() 转置混合数据类型的 DataFrame

如果我们有一个混合类型的 DataFrame,那么原始的和转置的 Dataframes 的数据类型是不同的。转置的 DataFrame 具有对象数据类型。混合数据类型的 DataFrame 如下所示

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

print(dataframe)

我们的 DataFrame 是:

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45

要得到这个 DataFrame 的转置。

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

dataframe1 = dataframe.transpose()
print(dataframe1)

输出:

                     0     1      2    3      4
Attendance          60   100     80   78     95
Name            Olivia  John  Laura  Ben  Kevin
Obtained Marks      90    75     82   64     45

现在,我们来分析一下原始的 DataFrame 和返回的 DataFrame 的数据类型。

import pandas as pd

dataframe=pd.DataFrame({
                        'Attendance': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95},
                        'Name': 
                            {0: 'Olivia', 
                            1: 'John', 
                            2: 'Laura',
                            3: 'Ben',
                            4: 'Kevin'},
                        'Obtained Marks': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45}
                        })

dataframe1 = dataframe.transpose()
print(dataframe.dtypes)
print(dataframe1.dtypes)

输出:

Attendance         int64
Name              object
Obtained Marks     int64
dtype: object
0    object
1    object
2    object
3    object
4    object
dtype: object

请注意 ,转置后的 DataFrame 的数据类型是 object 数据类型。

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

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便