场景:我有一个数据框列表。我试图重命名列并更改其顺序,但是列名称不完全匹配,例如:列可能是“ iterationlist”或“ iteration”。
我尝试在一个循环内循环以读取所有列,如果名称包含我需要的内容,请更改该列的名称,但出现错误:
TypeError: unhashable type: 'list'
代码:
import pandas as pd
import os
from Tkinter import Tk
from tkFileDialog import askdirectory
from os import listdir
from os.path import isfile, join
import glob
# Get content
mypath = "//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 dfs
for dfs in contentdataframes:
dfs.rename(index=str, columns={[col for col in dfs.columns if 'iteration' in col]: "iterationlistfinal"})
问题:执行此操作的正确方法是什么?
繁花如伊
相关分类