Применение функции к списку информационных фреймов, получение ошибки «строковые индексы должны быть целыми числами, а не str»
Функция отлично работает при отдельном применении к каждому фрейму данных.Однако возвращает ошибку при применении к списку фреймов данных.
Мои данные выглядят следующим образом:
data
date center dt Cust Type
2017-09-20 AA I
2017-09-21 BB E
2017-09-25 BB I
2017-09-29 AA I
Применяемая функция:
def calc2(data):
def naming(x_array):
ww = ' '.join(str(n) for n in x_array)
return(ww)
dc = data['center'].unique()
dt = data['dt'].unique()
ct = data['Cust Type'].unique()
key = [dc,dt,ct]
key = map(naming,key)
dc, dt, ct = key[0], key[1], key[2]
date = data['date']
print(dc,dt,ct,date)
dfs = ['df1','df2','df3']
map(calc2,dfs)
Ошибка:
----> 6 dc = data['center'].unique()
7 dt = data['dt'].unique()
8 ct = data['Cust Type'].unique()
TypeError: string indices must be integers, not str
Хотя отлично работает с отдельным набором данных:
calc2(df1) -- works
Что я делаю не так?