pandas - 在列表中,python 更改列的大小写

如何更改列表中的数据框列的大小写? 我知道如何使所有列都大写,但我不知道如何仅将特定是列设置成大写。


d = {'name':['bob','john','sue'],'id':[545,689,143],'fte':[1,.5,.75]}


df = pd.DataFrame(d)


# list of columns I want to make upper case


cols = ['id','fte']



这没有做任何事情(没有错误和案例也没有改变),


df[cols].rename(str.upper,axis=1,inplace=True)


df



 name id fte


0 bob 545 1.00


1 john 689 0.50


2 sue 143 0.75



时间:

它不会像你想要的那样工作原因是索引不支持可变操作 。 所以,你可以做的一件事是使用列表推导来生成一个新的列名列表,并将它重新分配给df.columns,


df.columns = [i.upper() if i in cols else i for i in df.columns]


print(df.columns)


# Index(['name', 'ID', 'FTE'], dtype='object')



...