修改Pandas的行或列的名字(重命名)

pandas.DataFrame.rename

使用函数: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)

功能:更改轴标签

函数字典值必须是唯一的(1对1)。未包含在 字典/Series  中的标签将保留原样。列出的额外标签不会引发错误。

参数:
mapper, index, columns : dict-like or function, optional

dict-like or functions transformations to apply to that axis' values. Use either mapperand axis to specify the axis to target with mapper, or index and columns.

dict-like 或函数转换以应用于该轴的值。二者必选其一mapper,并使用axis指定轴与目标mapper,或index和 columns。

主要用于指定需要修改的地方:index or columns

axis : int or str, optional

Axis to target with mapper. Can be either the axis name (‘index', ‘columns') or number (0, 1). The default is ‘index'.

轴与目标mapper。可以是轴名称('index','columns')或数字(0,1)。默认为'index'。

copy : boolean, default True

Also copy underlying data

还复制基础数据

inplace : boolean, default False

Whether to return a new DataFrame. If True then value of copy is ignored.

是否返回新的DataFrame。如果为True,则忽略复制值。

level : int or level name, default None

In case of a MultiIndex, only rename labels in the specified level.

如果是MultiIndex,只重命名指定级别的标签。

返回:
renamed : DataFrame

例子

DataFrame.rename 支持两种调用约定

  • (index=index_mapper, columns=columns_mapper, ...)
  • (mapper, axis={'index', 'columns'}, ...)

我们强烈建议您使用关键字参数来阐明您的意图。

>>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
>>> df.rename(index=str, columns={"A": "a", "B": "c"})
  a c
0 1 4
1 2 5
2 3 6
>>> df.rename(index=str, columns={"A": "a", "C": "c"})
  a B
0 1 4
1 2 5
2 3 6

#使用轴样式参数

>>> df.rename(str.lower, axis='columns')
  a b
0 1 4
1 2 5
2 3 6
>>> df.rename({1: 2, 2: 4}, axis='index')
  A B
0 1 4
2 2 5
4 3 6

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • pandas系列之DataFrame 行列数据筛选实例

    一.对DataFrame的认知 DataFrame的本质是行(index)列(column)索引+多列数据. 为了简化理解,我们不妨换个思路- 现实中,为了简化对一件事物的描述,我们会选择几个特征. 例如,从(性别.身高.学历.职业.爱好..)等角度去刻画一个人,这些"角度"即为"特征". 其中,不同的行表示不同的记录:列代表特征,不同记录因各个特征之间的差异而不同. DataFrame默认索引是序号(0,1,2-),可以理解成位置索引.一般我们用id标识不同记录,

  • pandas将DataFrame的列变成行索引的方法

    pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面. 1.DataFrame的set_index方法 data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])

  • python pandas获取csv指定行 列的操作方法

    pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: house_info.loc[3:6]类似于python的切片操作 2:取列操作: house_info['price']  这是读取csv文件时默认的第一行索引 3:取两列 house_info[['price',tradetypename']] 取多个列也是同理的,注意里面是一个list的列表,不然会报错误: 4:增加列: house_Info['adre

  • pandas数据处理基础之筛选指定行或者指定列的数据

    pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构). 本文为了方便理解会与excel或者sql操作行或列来进行联想类比 1.重新索引:reindex和ix 上一篇中介绍过数据读取后默认的行索引是0,1,2,3...这样的顺序号.列索引相当于字段名(即第一行数据),这里重新索引意思就是可以将默认的索引重新修改成自己想要的样子. 1.1 Series 比方说:data=Series([4,5,6],index=['a',

  • 用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.arange(3.)) data = DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) data['w'] #选择表格中的'w'列,使用类字典属性,返回的是Series类型 data.w #选择表格

  • pandas对指定列进行填充的方法

    实例如下所示: >>> import pandas as pd >>> import numpy as np >>> ts1 = [0, 1, np.nan, np.nan, np.nan, np.nan] >>> ts2 = [0, 2, np.nan, 3, np.nan, np.nan] >>> d = {'X': ts1, 'Y': ts2, 'Z': ts2} >>> df = pd.Da

  • python中pandas.DataFrame对行与列求和及添加新行与列示例

    本文介绍的是python中pandas.DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧. 方法如下: 导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) DataFrame数据预览: A

  • pandas.loc 选取指定列进行操作的实例

    今天发现用pandas里面的数据结构可以减少大量的编程工作,从现在开始逐渐积累,记录一下: 使用标签选取数据: df.loc[行标签,列标签] df.loc['a':'b']#选取ab两行数据 df.loc[:,'one']#选取one列的数据 df.loc的第一个参数是行标签,第二个参数为列标签(可选参数,默认为所有列标签),两个参数既可以是列表也可以是单个字符,如果两个参数都为列表则返回的是DataFrame,否则,则为Series. 示例代码: df.loc[ (df.Cabin.notn

  • python pandas dataframe 按列或者按行合并的方法

    concat 与其说是连接,更准确的说是拼接.就是把两个表直接合在一起.于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的关键参数是axis . 函数的具体参数是: concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verigy_integrity=False) objs 是需要拼接的对象集合,一般为列表或者字典 axis=0 是

  • pandas 对每一列数据进行标准化的方法

    两种方式 >>> import numpy as np >>> import pandas as pd Backend TkAgg is interactive backend. Turning interactive mode on. >>> np.random.seed(1) >>> df_test = pd.DataFrame(np.random.randn(4,4)* 4 + 3) >>> df_test 0

随机推荐