亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用索引重命名多個列

使用索引重命名多個列

30秒到達戰場 2022-12-20 12:28:08
如何使用索引重命名數據框的多個列?例如,我想將位置 5、6、7、8 的列分別重命名為“五”、“六”、“七”、“八”。我不想單獨輸入字典中的鍵。
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

在已經有字典的情況下,您可以使用rename映射到新的軸值:


df = pd.DataFrame(columns=range(10))

d = {5:'five', 6:'six', 7:'seven', 8:'eight'}

df = df.rename(d, axis=1)

# Index([0, 1, 2, 3, 4, 'five', 'six', 'seven', 'eight', 9], dtype='object')

或者,正如@ch3ster 指出的那樣,重命名接受兩個參數index并column允許獨立重命名:


df = df.rename(columns=d)

如果您知道要重命名的列的范圍,并且有一個新列名列表,您可以構建一個字典rename:


l = ['five', 'six', 'seven', 'eight', 'nine']

df = df.rename(columns=dict(zip(range(5,9), l)))


查看完整回答
反對 回復 2022-12-20
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

如果您不想使用renamewith a dict,正如您提到的,您也可以嘗試以這種方式重命名列:


column_names = list(df.columns)

column_names[4:8] = ['five', 'six', 'seven', 'eight']

df.columns = column_names

正如已經提到的那樣,您不必使用dict. 您可以一次完成所有操作:


my_dict = {5: 'five', 6: 'six', 7: 'seven'} # etc.

df.rename(columns = my_dict, inplace = True)


查看完整回答
反對 回復 2022-12-20
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

建立在你陳述的前提下I don't want to enter the keys in the dictionary individually.:


您可以使用一個名為num2words.


從文檔:


num2words 是一個將數字轉換42為單詞的庫forty-two。


用法:


from num2words import num2words

num2words(10)

輸出:


ten

做pip install num2words


你的最終代碼應該是:


from num2words import num2words


d = {i: num2words(i) for i in range(100)} 

df = df.rename(d, axis=1)


查看完整回答
反對 回復 2022-12-20
  • 3 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號