Jak zmapować wynik do CSV?

Jak zmapować wynik do CSV?
Mr. Coin
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:10
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:

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

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

Kopiuj
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.

edytowany 1x, ostatnio: Riddle
GO
  • Rejestracja:ponad 2 lata
  • Ostatnio:ponad rok
  • Postów:141
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.

Kopiuj
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.

Kopiuj
    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.

edytowany 2x, ostatnio: GodOfCode.
Mr. Coin
BARDZO dziękuję za pomoc, standardowy błąd mój ;) nie kompa. Problem był w tym, że miałem spacje w nazwie kolumny 'Resume' ;). Bardzo dziękuję za bibliotekę pdb -> nie znałem jej. Poczytam sobie bo może się przydać, choć używam PyCharm więc mam wbudowaną :). Pozdrawiam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.