Załóżmy, że mam listę z wartościami prezentującymi liczby, ale z nieco zamieszanymi formatami. W oparciu o tą listę tworzę serię:
1 2 3 4 5 |
import pandas as pd lst = ['112,000.000','4,500,000'] s = pd.Series(lst) s wynik to: |
1 2 3 |
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:
1 2 |
s = s.apply(lambda x: x.replace(',','')) s |
wynik to nadal typ object, ale dane już przypominają liczby:
1 2 3 |
0 112000.000 1 4500000 dtype: object |
teraz wreszcie można skonwertować typ do float
1 2 |
s = s.astype('float') s |
wynik to:
1 2 3 |
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.