Очистить строковые данные в указанном Pandas Dataframe

| | | | | | | | | | | | | | |

Предположим, мы имеем дело с данными с сайта электронной коммерции. Названия продуктов имеют неправильный формат. Правильно форматируйте данные, чтобы не было начальных и конечных пробелов, а первые буквы всех товаров были заглавными.

Решение №1: Во многих случаях мы сталкиваемся с ситуация, когда нам нужно написать свою собственную функцию, подходящую для поставленной задачи.


# import pandas as pd

import pandas as pd


# Создать фрейм данных

df = pd.DataFrame ({ `Дата` : [ `10/2/2011` , ` 11/2/2011` , `12/2/2011` , < код с lass ="string ">` 13/2 / 2011` ],

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

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

` Скидка` : [ 10 , 8 , 15 , 10 ]})


# Печать фрейма данных

print (df)

Вывод:

Теперь мы напишем собственную пользовательскую функцию для решения этой проблемы.


def Format_data (df):

# перебрать все строки

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


# переназначить значения ‚Äã‚Äã в столбец product

# сначала удалить пробелы с помощью функции strip()

# затем мы используем функцию capitalize()

df. iat [i, 1 ] = df.iat [i, 1 ]. полоска (). Capitalize ( )


# Перейдем к вызову функции
Format_data (df )


# Печать кадра данных

print (df)

Вывод:

Решение № 2: Теперь мы увидим лучший и более эффективный подход с использованием Pandas функция DataFrame.apply() .


# импортировать панд как pd

import pandas as pd


# Создать фрейм данных

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

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

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

`Скидка` : [ 10 , 8 , 15 , 10 ]})


# Печать фрейм данных

print (df)

Вывод:

Давайте воспользуемся DataFrame.apply() Pandas DataFrame.apply() для форматирования названий продуктов в нужном формате. Внутри функции Pandas DataFrame.apply() мы будем использовать лямбда-функцию.


# Использование Функция df.apply() для столбца product

df [ `Product` ] = df [ `Продукт ` ]. применить ( lambda x: x.strip ().capitalize ())


# Печать фрейма данных

print (df)

Вывод :