ValueError: Nu se poate indexa cu o cheie multidimensională (Programare, Python, Pandas)

Furkan Kılıçaslan a intrebat.

Încerc să codific un sistem simplu de recomandare folosind doar pandas și am probleme cu partea de filtrare.Vreau să selectez toate rândurile în care coloana RatingCounts este mai mare decât o valoare pe care o aleg.Acest lucru îmi returnează un cadru de date cu o coloană umplută cu booleanii corecți, dar nu pot indexa datele mele cu această selecție, îmi dă o eroare de valoare, așa cum este menționat în titlu.Iată captura de ecran

1 răspunsuri
unutbu

selection pare a fi un DataFrame 2D cu 1 coloană, RatingCounts. Eroarea apare atunci când treceți un indexor 2D la DataFrame.loc. Puteți evita eroarea dacă treceți un indexor boolean 1D către DataFrame.loc:

final_data.loc[selection['RatingCounts']]

Comentarii

  • Mulțumesc, acest lucru a fost de ajutor, dar trebuia să folosesc .ravel() în final pentru a transforma acel numpy.ndarray într-o matrice unidimensională. –  > Por Furkan Kılıçaslan.
  • Da, este greu de înțeles situația dvs. exactă fără un cod care să o reproducă. În viitor, este posibil să puteți obține răspunsuri mai precise dacă furnizați un exemplu minim, complet și verificabil. –  > Por unutbu.