pandas 改列名称_01_Pandas.DataFrame的行名和列名的修改
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的行名和列名的修改相关推荐
- 30_Pandas.DataFrame提取(选择)指定行名和列名的行和列
30_Pandas.DataFrame提取(选择)指定行名和列名的行和列 从pandas.DataFrame中提取(选择)行名称(索引名称)和列名称(列名称)满足特定条件的行或列. 了解如何提取元素包 ...
- pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers)
pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers) 目录 pandas将datafra ...
- pandas使用rename函数重命名dataframe中数据列的名称、从而创建一个包含重复列名称的dataframe数据集
pandas使用rename函数重命名dataframe中数据列的名称.从而创建一个包含重复列名称的dataframe数据集 目录
- pandas基于列表内容对dataframe数据行进行筛选(isin函数)实战:Filter DataFrame rows on a list of values
pandas基于列表内容对dataframe数据行进行筛选(isin函数)实战:Filter DataFrame rows on a list of values 目录
- python dataframe取一列_pandas取dataframe特定行/列
1.按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFrame ...
- dataframe去掉行索引_DataFrame按索引删除行、列
我们先来看看DataFrame.drop的帮助文档: Help on function drop in module pandas.core.frame: drop(self, labels=None ...
- R语言将数据框中的字符类型数字转换为数值及行名变换
1 数据框类型转换 gsetpm.rsem=as.data.frame(lapply(gsetpm.rsem,as.numeric)) #gsetpm换成自己的数据 2 行名及列名为第一行和第一列 变 ...
- 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) 目录
- 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) 目录
最新文章
- Using command line switches to fix Outlook 2010 not Responding
- Jenkins的入门(二)配置
- anchor译中文_anchor的意思在线翻译,解释anchor中文英文含义,短语词组,音标读音,例句,词源,同义词【澳典网ODict.Net】...
- cuba 平台_CUBA平台正在开源
- 普通计算机怎么算根号_大学专业介绍 | 计算机专业的真实就业情况
- 用 Python 写软件原来这么简单
- SCU 4445 Right turn(dfs)题解
- OpenCV学习笔记:视频处理
- 玩转 SpringBoot 2.x 整合 Mybatis
- java 里面怎么截取倒数第几个字_Java反射是什么
- Codeforces Round #292 (Div. 2):C. Drazil and Factorial
- 基于Android的人事管理系统 开发与设计
- [转]SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法
- 时序图(Sequence Diagram)—UML图(六)
- animate支持的css属性
- Python常用的设计模式
- day9Python操作Excel
- 内网服务器防火墙作用,防火墙内网用户通过公网域名访问内部服务器典型配置案例集...
- java语言TAM机程序代码(基础版)
- junit 测试似有方法_JUnit测试私有方法(protected方法类同)
热门文章
- 树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统 篇二:初步配置 Home Assistant 并连接小米设备与 HomeKit
- VUE项目--Floor组件
- 仿微信清理内存图表动画(解决surfaceView闪烁问题)
- Proof Compression
- 学生信息管理系统 C++实现
- jenkins设置执行时间_Jenkins环境搭建(4)-配置定时构建
- 蜜蜂路线图c语言思路,打蜜蜂(c语言)(Hit the bee (C language)).doc
- 常用aso优化技巧,分享ASO关键词优化的几个小技巧
- python制作qq登录界面_用Python实现一个最新QQ办公版(TIM)的登录界面
- 一文快速了解EL表达式基础知识