Jak zmapować wynik do CSV?

0

Witam, jak zmapować wynik do CSV? Mam problem z zapisaniem danych do csv, trochę się pogubiłem i nie wiem gdzie umieścić tą linię kodu self.linkCSV['Resume'] = ...? Próbowałem w konstruktorze, w oddzielnej metodzie, przy wywołaniu instancji klasy i zawsze otrzymuję błąd który nie wiem jak ogarnąć?
Error:

raise KeyError(key) from err
  KeyError: 'Resume'

Gdzie umieścić tą linię kodu, ew jak zmienić ten kod?

import pandas as pd

class AnalisysML:

    def __init__(self):
        self.linkCSV = pd.read_csv('link do CSV')
        self.linkCSV['Resume'] = self.linkCSV['Resume'].map(self.get_resume1)

    def get_resume1(self, x):
        if x == 'abc':
            return 1
        else:
            return 0

if __name__ == '__main__':
    ml = AnalisysML()
    print(ml)

Co robi kod:
Mam w pliku CSV kolumnę 'Resume' z tylko dwoma wersjami wyników abc, lub xyz. Jeżeli mam 'abc' chcę to miejsce przez 'mapowanie' nadpisać 1, w przeciwnym wypadku 0. Potrzebuję te wartości tekstowe zamienić na liczbowe do Machine Learning'u.

Z góry bardzo dziękuję za pomoc :)
Pozdrawiam.

2

Kod jest teoretycznie dobry, oczywiście jak zmienisz te 'link do CSV'

Zatrzymaj się debuggerem po odczycie tego read_csv i wyświetl sobie na początek tą tabelkę self.linkCSV

Możesz dodać sobie tam do klasy też metodę __str__ żeby wyświetlić zawartość przy użyciu print, na obiekcie.

class AnalisysML:
  ...
  def __str__(self):
    return f'{self.linkCSV}'

A jak nie masz IDE to zdebugować możesz dodając import pdb; pdb.set_trace()

Czyli możesz sobie dopisać coś takiego.

    def __init__(self):
        self.linkCSV = pd.read_csv('link do CSV')
        import pdb
        pdb.set_trace()
        self.linkCSV['Resume'] = self.linkCSV['Resume'].map(self.get_resume1)

Teraz ci się skrypt zatrzyma w konsoli i będziesz mógł sobie posprawdzać jak wyglądają dane.

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