Wyjątek "list indices must be integers or slices, not str"

0
def check():
  lista = [pd.cocncat[list(pd.read_excel(path, sheet_name=['Good']).values())for path in path_list_pb]
  lista_remove = pd.cocncat(lista)
  strainer = [[lista['Env'].str.upper()=='NO'][['PB']]]

strainer pokazuje blad z tytulu wiadomosci

1

masz literówkę:
cocncat zamiast concat

0

list indices must be integers or slices, not str -> Index nie może być stringiem.

1

Błąd z tytułu jest taki, bo jeśli lista jest naprawdę listą (typ zmiennej), to musisz używać indeksów liczbowych.
Żeby możliwe były indeksy tekstowe, to zamiast listy musisz użyć słownika (dict()).

Te nawiasy kwadratowe nie wyglądają dobrze...

strainer = lista['Env'].str.upper()=='NO'][['PB']

Tak jakbyś chciała z wyrażenia boolean lista['Env'].str.upper()=='NO' pobrać wartość spod indeksu 'PB' przy użyciu nawiasu kwadratowego... Poza tym jest o jeden otwierający nawias kwadratowy za dużo. (zanim @Riddle poprawił).

1 użytkowników online, w tym zalogowanych: 0, gości: 1