[英]Rename pandas column based on a dictionary only if the name is in the dictionary
我想重命名我的 dataframe 中的列,使用字典中的名稱,但在我的例子中,我擁有的字典並不代表所有列名,因此我只想更改我的字典中的列名。 例如
key1 key2 key3 key4
index
1 val1 val2 val3 val4
2 val5 val6 val7 val8
3 ...
4
5
我的字典是
{'key1': 'name1',
'key2': 'name2',
'key4': 'name4'
}
我想要得到的是
name1 name2 key3 name4
index
1 val1 val2 val3 val4
2 val5 val6 val7 val8
3 ...
4
5
所以我試圖做與這個問題相同的事情,但是映射不起作用,因為不在我的字典中的鍵在列名中以Nans
結尾。 有誰知道如何做到這一點? TT
您可以在列表理解中使用dict.get
(請注意,我在此處將字典命名為d
):
df.columns = [d.get(k,k) for k in df.columns]
Output:
name1 name2 key3 name4
index
1 val1 val2 val3 val4
2 val5 val6 val7 val8
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.