01_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

饺子大人

发布了13 篇原创文章 · 获赞 0 · 访问量 354

私信

关注

标签:index,13,01,df,行名,DataFrame,add,columns

来源: https://blog.csdn.net/qq_18351157/article/details/104410294

pandas 改列名称_01_Pandas.DataFrame的行名和列名的修改相关推荐

  1. 30_Pandas.DataFrame提取(选择)指定行名和列名的行和列

    30_Pandas.DataFrame提取(选择)指定行名和列名的行和列 从pandas.DataFrame中提取(选择)行名称(索引名称)和列名称(列名称)满足特定条件的行或列. 了解如何提取元素包 ...

  2. pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers)

    pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers) 目录 pandas将datafra ...

  3. pandas使用rename函数重命名dataframe中数据列的名称、从而创建一个包含重复列名称的dataframe数据集

    pandas使用rename函数重命名dataframe中数据列的名称.从而创建一个包含重复列名称的dataframe数据集 目录

  4. pandas基于列表内容对dataframe数据行进行筛选(isin函数)实战:Filter DataFrame rows on a list of values

    pandas基于列表内容对dataframe数据行进行筛选(isin函数)实战:Filter DataFrame rows on a list of values 目录

  5. python dataframe取一列_pandas取dataframe特定行/列

    1.按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFrame ...

  6. dataframe去掉行索引_DataFrame按索引删除行、列

    我们先来看看DataFrame.drop的帮助文档: Help on function drop in module pandas.core.frame: drop(self, labels=None ...

  7. R语言将数据框中的字符类型数字转换为数值及行名变换

    1 数据框类型转换 gsetpm.rsem=as.data.frame(lapply(gsetpm.rsem,as.numeric)) #gsetpm换成自己的数据 2 行名及列名为第一行和第一列 变 ...

  8. pandas使用idxmax函数获取dataframe每个数据行中最大值对应的列名称(column label of max value in each row in dataframe)

    pandas使用idxmax函数获取dataframe每个数据行中最大值对应的列名称(column label of max value in each row in dataframe) 目录

  9. pandas使用idxmin函数获取dataframe每个数据行中最小值对应的列名称(column label of min value in each row in dataframe)

    pandas使用idxmin函数获取dataframe每个数据行中最小值对应的列名称(column label of min value in each row in dataframe) 目录

最新文章

  1. Using command line switches to fix Outlook 2010 not Responding
  2. Jenkins的入门(二)配置
  3. anchor译中文_anchor的意思在线翻译,解释anchor中文英文含义,短语词组,音标读音,例句,词源,同义词【澳典网ODict.Net】...
  4. cuba 平台_CUBA平台正在开源
  5. 普通计算机怎么算根号_大学专业介绍 | 计算机专业的真实就业情况
  6. 用 Python 写软件原来这么简单
  7. SCU 4445 Right turn(dfs)题解
  8. OpenCV学习笔记:视频处理
  9. 玩转 SpringBoot 2.x 整合 Mybatis
  10. java 里面怎么截取倒数第几个字_Java反射是什么
  11. Codeforces Round #292 (Div. 2):C. Drazil and Factorial
  12. 基于Android的人事管理系统 开发与设计
  13. [转]SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法
  14. 时序图(Sequence Diagram)—UML图(六)
  15. animate支持的css属性
  16. Python常用的设计模式
  17. day9Python操作Excel
  18. 内网服务器防火墙作用,防火墙内网用户通过公网域名访问内部服务器典型配置案例集...
  19. java语言TAM机程序代码(基础版)
  20. junit 测试似有方法_JUnit测试私有方法(protected方法类同)

热门文章

  1. 树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统 篇二:初步配置 Home Assistant 并连接小米设备与 HomeKit
  2. VUE项目--Floor组件
  3. 仿微信清理内存图表动画(解决surfaceView闪烁问题)
  4. Proof Compression
  5. 学生信息管理系统 C++实现
  6. jenkins设置执行时间_Jenkins环境搭建(4)-配置定时构建
  7. 蜜蜂路线图c语言思路,打蜜蜂(c语言)(Hit the bee (C language)).doc
  8. 常用aso优化技巧,分享ASO关键词优化的几个小技巧
  9. python制作qq登录界面_用Python实现一个最新QQ办公版(TIM)的登录界面
  10. 一文快速了解EL表达式基础知识