Wyczyść dane ciągu w określonej ramce danych Pandas

| | | |

Załóżmy, że mamy do czynienia z danymi z witryny e-commerce. Nazwy produktów mają niepoprawny format. Prawidłowo sformatuj dane, tak aby nie było spacji wiodących i końcowych, a pierwsze litery wszystkich produktów były pisane wielkimi literami.

Rozwiązanie nr 1: W wielu przypadkach mamy do czynienia z sytuacja, w której musimy napisać własną niestandardową funkcję odpowiednią do wykonywanego zadania.


# importuj pandy jako pd

importuj pandy jako pd


# Utwórz ramkę danych

df = pd.DataFrame ({ `Data` : [ `10/2/2011` , ` 11/2/2011` , `12/2/2011` , < kod c lass ="string ">` 13.02.2011` ],

`Produkt` : [ `UMbreLla` , ` maTress` , `BaDmintoN` , `Shuttle ` ],

` Updated_Price` : [ 1250 , 1450 1550 , 400 ],

` Rabat` : [ 10 , 8 , 15 , 10 ]})


# Wydrukuj ramkę danych

print (df)

Wyjście:

Teraz napiszemy własną niestandardową funkcję, aby rozwiązać ten problem.


def Format_data (df):

# iteruj po wszystkich wierszach

for i in zakres (df.shape [ 0 ]):


# ponownie przypisz wartości do kolumny produktu

# najpierw usuń spacje za pomocą funkcji strip()

# wtedy kapitalizujemy funkcją capitalize()

df. iat [i, 1 ] = df.iat [i, 1 ]. rozebrać się (). capitalize ( )


# Przejdźmy do wywołania funkcji
Format_data (df )


# Wydrukuj Dataframe

drukuj (df)

Wyjście:

Rozwiązanie nr 2: Teraz zobaczymy lepsze i wydajniejsze podejście przy użyciu function DataFrame.apply () .


# importuj pandy jako pd

importuj pandy jako pd


# Utwórz ramkę danych

df = pd.DataFrame ( {` ` Data` : [ `10/2 / 2011` , `11/2/2011` , `12/2/2011` , ` 13.02.2011` ],

`Produkt` : [ `UMbreLla` , ` maTress` , `BaDmintoN` , `Shuttle` ],

`Updated_Price` : [ 1250 , 1450 , 1550 , 400 ],

`Rabat` : [ 10 , 8 , 15 , 10 ]})


# Drukuj ramka danych

print (df)

Wyjście:

Użyjmy DataFrame.apply () Pandas DataFrame.apply () do sformatowania nazw produktów w żądanym formacie. Wewnątrz funkcji DataFrame.apply() Pandy użyjemy funkcji lambda.


# Funkcja df.apply() na produkcie kolumny

df [ `Produkt` ] = df [ `Produkt ` ]. Apply ( lambda x: x.strip ().capitalize ())


# Wydrukuj Dataframe

print (df)

Wyjście :

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method