Pandas.DataFrame的行名和列名的修改

 更新时间:2023年02月22日 09:45:35   作者:饺子大人  
本文主要介绍了Pandas.DataFrame的行名和列名的修改,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

pandas.DataFrame行名(index)和列名(columns)的修改方法如下。

rename()

  • 任意的行名(index)和列名(columns)的修改

add_prefix(), add_suffix()

  • 列名的接头词和结尾词的追加

index和columns元素的更新

  • 行名和列名全部修改

接下来,对每个方法进行说明。

rename()

  • 多个行名和列名的修改
  • 原DataFrame的修改(参数inplace)
  • 使用lambda表达式和函数进行批处理

add_prefix(), add_suffix()

index和columns元素的更新

首先,先生成一个DaraFrame。

import pandas as pd

df = pd.DataFrame({'A': [11, 21, 31],
                   'B': [12, 22, 32],
                   'C': [13, 23, 33]},
                  index=['ONE', 'TWO', 'THREE'])

print(df)
#         A   B   C
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

DataFrame.rename()

函数DataFrame.rename()可以对任意行和列的名称进行修改。
DataFrame.rename()的参数有index和columns,使用"{旧值:新值}"字典的形式进行参数的指定。

index为行,columns为列。只想修改某行或者某列的时候,只需要单独指定一个参数即可。

修改后,返回一个新的DataFrame,原DataFrame并没有被修改。

df_new = df.rename(columns={'A': 'a'}, index={'ONE': 'one'})
print(df_new)
#         a   B   C
# one    11  12  13
# TWO    21  22  23
# THREE  31  32  33

print(df)
#         A   B   C
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

多个行名和列名的修改

多个行名和列名可以同时修改。只需要追加参数(字典的元素)。

print(df.rename(columns={'A': 'a', 'C': 'c'}))
#         a   B   c
# ONE    11  12  13
# TWO    21  22  23
# THREE  31  32  33

原DataFrame的修改(参数inplace)

默认的设置为原DataFrame不变,返回一个新的DataFrame。

当参数inplace为True时,原DataFrame将会被修改。返回值为None。

df_org = df.copy()
df_org.rename(columns={'A': 'a'}, index={'ONE': 'one'}, inplace=True)
print(df_org)
#         a   B   C
# one    11  12  13
# TWO    21  22  23
# THREE  31  32  33

使用lambda表达式和函数进行批处理

rename()的参数index和columns值也可以指定为函数方法。

比如,大小写的转换。

print(df.rename(columns=str.lower, index=str.title))
#         a   b   c
# One    11  12  13
# Two    21  22  23
# Three  31  32  33

lambda表达式-无名函数的指定。

print(df.rename(columns=lambda s: s*3, index=lambda s: s + '!!'))
#          AAA  BBB  CCC
# ONE!!     11   12   13
# TWO!!     21   22   23
# THREE!!   31   32   33

add_prefix(), add_suffix()

列名的接头词和结尾词的追加方法。add_prefix()和add_suffix()。

在方法的参数里指定接头词或者结尾词。

print(df.add_prefix('X_'))
#        X_A  X_B  X_C
# ONE     11   12   13
# TWO     21   22   23
# THREE   31   32   33

print(df.add_suffix('_X'))
#        A_X  B_X  C_X
# ONE     11   12   13
# TWO     21   22   23
# THREE   31   32   33

add_prefix()和add_suffix()只能对列名(columns)进行修改。想要对行名进行修改的时候,可以参照上述lambda表达式的使用方法。

index和columns元素的更新

当想要对DataFrame里全部的元素修改或更新的时候,可以使用rename()方法的参数index,columns进行指定。

可以在index,columns属性中指定List,tuple,pandas.Series等。

df.index = [1, 2, 3]
df.columns = ['a', 'b', 'c']

print(df)
#     a   b   c
# 1  11  12  13
# 2  21  22  23
# 3  31  32  33

此时,请注意,如果列表等的大小(元素数)与行数/列数不一致时,则会发生错误。

# df.index = [1, 2, 3, 4]
# ValueError: Length mismatch: Expected axis has 3 elements, new values have 4 elements

到此这篇关于Pandas.DataFrame的行名和列名的修改的文章就介绍到这了,更多相关Pandas.DataFrame行名和列名修改内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python装饰器基础详解

    Python装饰器基础详解

    装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。接下来通过本文给大家介绍python装饰器基础,对python装饰器相关知识感兴趣的朋友一起学习吧
    2016-03-03
  • Flask 的路由Route详情

    Flask 的路由Route详情

    在上一篇Flask 入门Web 微框架Hello Flask中,我们用 Flask 框架写了一个 Hello Flask 应用程序,我们了解到 Flask 框架简洁高效、可以快速上手,接下来将对 Flask 框架的各项功能详细的介绍一下,本篇文章介绍的是 Flask 的路由(Route),需要的朋友可以参考一下
    2021-11-11
  • Python中文件路径常用操作总结

    Python中文件路径常用操作总结

    这篇文章主要为大家详细介绍了Python中文件路径常用操作的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
    2023-11-11
  • Python如何生成指定区间中的随机数

    Python如何生成指定区间中的随机数

    这篇文章主要介绍了Python如何生成指定区间中的随机数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python格式化字符串的实战教程(使用占位符、format方法)

    python格式化字符串的实战教程(使用占位符、format方法)

    我们经常会用到%-formatting和str.format()来格式化,下面这篇文章主要给大家介绍了关于python格式化字符串的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 解决Pyinstaller打包软件失败的一个坑

    解决Pyinstaller打包软件失败的一个坑

    这篇文章主要介绍了解决Pyinstaller打包软件失败的一个坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python批量模糊匹配的3种方法实例

    Python批量模糊匹配的3种方法实例

    模糊匹配可以算是现代编辑器的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择,下面这篇文章主要给大家介绍了关于Python批量模糊匹配的3种方法,需要的朋友可以参考下
    2022-03-03
  • Python 私有函数的实例详解

    Python 私有函数的实例详解

    这篇文章主要介绍了Python 私有函数的实例详解的相关资料,希望通过本文大家能掌握Python 私有函数的使用方法,需要的朋友可以参考下
    2017-09-09
  • Python 解决火狐浏览器不弹出下载框直接下载的问题

    Python 解决火狐浏览器不弹出下载框直接下载的问题

    这篇文章主要介绍了Python 解决火狐浏览器不弹出下载框直接下载的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题

    Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题

    这篇文章主要介绍了Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论