Python – oczyszczanie kolumny tekstowej w PANDAS (Seria danych)

11-Lut-2019

Załóżmy, że mam listę z wartościami prezentującymi liczby, ale z nieco zamieszanymi formatami. W oparciu o tą listę tworzę serię:

import pandas as pd
lst = ['112,000.000','4,500,000']
s = pd.Series(lst)
s
wynik to:
0    112,000.000
1      4,500,000
dtype: object

Jak widać typ to object, czyli w PANDAS – napis. Możesz teraz zbudować dowolną funkcję lambda oczyszczającą ten tekst:

s = s.apply(lambda x: x.replace(',',''))
s

wynik to nadal typ object, ale dane już przypominają liczby:

0    112000.000
1       4500000
dtype: object

teraz wreszcie można skonwertować typ do float

s = s.astype('float')
s

wynik to:

0     112000.0
1    4500000.0
dtype: float64

Kluczowe jest to, w jaki sposób tekst ma być oczyszczony – ale to już zależy też od rodzaju szumu, jaki został do tej kolumny kiedyś wprowadzony.

Dodaj komentarz:

Autor: Rafał Kraik