重命名数据框架中的元组列名[英] Renaming tuple column name in dataframe

本文是小编为大家收集整理的关于重命名数据框架中的元组列名的处理方法,想解了重命名数据框架中的元组列名的问题怎么解决?重命名数据框架中的元组列名问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我是 pythonpandas 的新手.我附上了一张熊猫数据框的图片,Pic我需要知道如何从最后一列获取数据以及如何重命名最后一列.

推荐答案

你可以使用:

df = df.rename(columns = {df.columns[-1] : 'newname'})

或者:

df.columns = df.columns[:-1].tolist() + ['new_name']

似乎解决办法:

df.columns.values[-1] = 'newname'

有问题.因为重命名 pandas 函数后返回奇怪的错误.

对于从最后一列获取数据,可以使用按位置选择 iloc:

s = df.iloc[:,-1]

重命名后:

s1 = df['newname']
print (s1)

示例:

df = pd.DataFrame({'R':[7,8,9],
                   'T':[1,3,5],
                   'E':[5,3,6],
                   ('Z', 'a'):[7,4,3]})

print (df)
   E  T  R  (Z, a)
0  5  1  7       7
1  3  3  8       4
2  6  5  9       3

s = df.iloc[:,-1]
print (s)
0    7
1    4
2    3
Name: (Z, a), dtype: int64
<小时>
df.columns = df.columns[:-1].tolist() + ['new_name']
print (df)
   E  T  R  new_name
0  5  1  7         7
1  3  3  8         4
2  6  5  9         3
<小时>
df = df.rename(columns = {('Z', 'a') : 'newname'})
print (df)
   E  T  R  newname
0  5  1  7        7
1  3  3  8        4
2  6  5  9        3
s = df['newname']
print (s)
0    7
1    4
2    3
Name: newname, dtype: int64
df.columns.values[-1] = 'newname'
s = df['newname']
print (s)
>KeyError: 'newname'

本文地址:https://www.itbaoku.cn/post/1727966.html