熊猫栏更名

熊猫栏更名

我有一个DataFrame使用熊猫和列标签,我需要编辑,以取代原来的列标签。

我想在DataFrame中更改列名A其中原始列名为:

['$a', '$b', '$c', '$d', '$e']

['a', 'b', 'c', 'd', 'e'].

我将编辑后的列名存储在列表中,但不知道如何替换列名。


暮色呼如
浏览 573回答 3
3回答

BIG阳

只需将其分配给.columns属性:>>> df = pd.DataFrame({'$a':[1,2], '$b': [10,20]})>>> df.columns = ['a', 'b']>>> df    a   b0  1  101  2  20

慕桂英4014372

重命名特定列使用df.rename()函数并引用要重命名的列。并不是所有的列都必须重命名:df&nbsp;=&nbsp;df.rename(columns={'oldName1':&nbsp;'newName1',&nbsp;'oldName2':&nbsp;'newName2'})#&nbsp;Or&nbsp;rename&nbsp;the&nbsp;existing&nbsp;DataFrame&nbsp;(rather&nbsp;than&nbsp;creating&nbsp;a&nbsp;copy) &nbsp;df.rename(columns={'oldName1':&nbsp;'newName1',&nbsp;'oldName2':&nbsp;'newName2'},&nbsp;inplace=True)最小代码示例df&nbsp;=&nbsp;pd.DataFrame('x',&nbsp;index=range(3),&nbsp;columns=list('abcde'))df &nbsp;&nbsp;&nbsp;a&nbsp;&nbsp;b&nbsp;&nbsp;c&nbsp;&nbsp;d&nbsp;&nbsp;e0&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x1&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x2&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x以下方法都工作并产生相同的输出:df2&nbsp;=&nbsp;df.rename({'a':&nbsp;'X',&nbsp;'b':&nbsp;'Y'},&nbsp;axis=1)&nbsp;&nbsp;#&nbsp;new&nbsp;methoddf2&nbsp;=&nbsp;df.rename({'a':&nbsp;'X',&nbsp;'b':&nbsp;'Y'},&nbsp;axis='columns') df2&nbsp;=&nbsp;df.rename(columns={'a':&nbsp;'X',&nbsp;'b':&nbsp;'Y'})&nbsp;&nbsp;#&nbsp;old&nbsp;method&nbsp;&nbsp;df2 &nbsp;&nbsp;&nbsp;X&nbsp;&nbsp;Y&nbsp;&nbsp;c&nbsp;&nbsp;d&nbsp;&nbsp;e0&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x1&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x2&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x请记住将结果分配回原来的位置,因为修改是不到位的。或者,指定inplace=True:df.rename({'a':&nbsp;'X',&nbsp;'b':&nbsp;'Y'},&nbsp;axis=1,&nbsp;inplace=True)df &nbsp;&nbsp;&nbsp;X&nbsp;&nbsp;Y&nbsp;&nbsp;c&nbsp;&nbsp;d&nbsp;&nbsp;e0&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x1&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x2&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x在v0.25中,还可以指定errors='raise'如果指定了无效的列到重命名,则引发错误。看见v0.25rename()博士.重新分配列标题使用df.set_axis()带着axis=1和inplace=False(交回副本)。df2&nbsp;=&nbsp;df.set_axis(['V',&nbsp;'W',&nbsp;'X',&nbsp;'Y',&nbsp;'Z'],&nbsp;axis=1,&nbsp;inplace=False)df2 &nbsp;&nbsp;&nbsp;V&nbsp;&nbsp;W&nbsp;&nbsp;X&nbsp;&nbsp;Y&nbsp;&nbsp;Z0&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x1&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x2&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x这将返回一个副本,但您可以通过设置inplace=True(这是版本<=0.24的默认行为,但将来可能会改变)。还可以直接分配标头:df.columns&nbsp;=&nbsp;['V',&nbsp;'W',&nbsp;'X',&nbsp;'Y',&nbsp;'Z']df &nbsp;&nbsp;&nbsp;V&nbsp;&nbsp;W&nbsp;&nbsp;X&nbsp;&nbsp;Y&nbsp;&nbsp;Z0&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x1&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x2&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x&nbsp;&nbsp;x

猛跑小猪

这个rename方法可以接受一个函数,例如:In&nbsp;[11]:&nbsp;df.columnsOut[11]:&nbsp;Index([u'$a',&nbsp;u'$b',&nbsp;u'$c',&nbsp;u'$d',&nbsp;u'$e'],&nbsp;dtype=object)In&nbsp;[12]:&nbsp;df.rename(columns=lambda&nbsp;x:&nbsp;x[1:],&nbsp; inplace=True)In&nbsp;[13]:&nbsp;df.columnsOut[13]:&nbsp;Index([u'a',&nbsp;u'b',&nbsp;u'c',&nbsp;u'd',&nbsp;u'e'],&nbsp;dtype=object)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python