場景:我有一個數據框列表。我試圖重命名列并更改其順序,但是列名稱不完全匹配,例如:列可能是“ iterationlist”或“ iteration”。我嘗試在一個循環內循環以讀取所有列,如果名稱包含我需要的內容,請更改該列的名稱,但出現錯誤:TypeError: unhashable type: 'list'代碼:import pandas as pdimport osfrom Tkinter import Tkfrom tkFileDialog import askdirectoryfrom os import listdirfrom os.path import isfile, joinimport glob# Get contentmypath = "//DGMS/Desktop/uploaded"all_files = glob.glob(os.path.join(mypath, "*.xls*"))contentdataframes = [pd.read_excel(f).assign(Datanumber=os.path.basename(f).split('.')[0].split('_')[0], ApplyOn='') for f in all_files]#get list of dates and put to dfsfor dfs in contentdataframes: dfs.rename(index=str, columns={[col for col in dfs.columns if 'iteration' in col]: "iterationlistfinal"})問題:執行此操作的正確方法是什么?
2 回答

繁花如伊
TA貢獻2012條經驗 獲得超12個贊
舊的,但解決方案很簡單
dfs.rename(index=str, columns={col : "iterationlistfinal" for col in dfs.columns if 'iteration' in col} )
您無法在字典中傳遞清單
添加回答
舉報
0/150
提交
取消