Преобразование столбца, содержащего знак%, из строкового в числовой тип

Обработка данных - это процесс преобразования неструктурированных исходных данных в форму, готовую для дальнейшего анализа, такого как визуализация данных или построение модели. Иногда после обработки данных вы можете заметить, что некоторые столбцы могут содержать такие символы, как знак доллара ($), знак плюса (+), знак минуса (-) или знак процента (%). Любой столбец данных, содержащий один из этих знаков, рассматривается как строковый и, следовательно, не может использоваться для численных расчетов.

В этой статье я покажу, как удалить знак процента (%) из столбца данных. Затем, как только знак% будет удален, мы преобразуем столбец из строкового в числовой, чтобы сделать его пригодным для числовых манипуляций и вычислений. Аналогичный подход можно использовать для удаления нежелательных знаков, таких как знак плюса (+), знак минуса (-) и т. Д.

Я проиллюстрирую этот пример с помощью набора данных, извлеченного из файла PDF, как показано ниже:

a) Скопируйте и вставьте таблицу в Excel и сохраните файл как table_1_raw.csv.

Данные хранятся в одномерном формате и должны быть изменены, очищены и преобразованы.

б) Импортируйте необходимые библиотеки

import pandas as pd
import numpy as np

в) Импортируйте необработанные данные и измените их форму.

df = pd.read_csv("table_1_raw.csv", header=None)
df2 = pd.DataFrame(df.values.reshape(25,10))
column_names = df2[0:1].values[0]
df3 = df2[1:]
df3.columns = df2[0:1].values[0]
df3.head()

г) Обработка данных с помощью инструментов обработки строк

Из приведенной выше таблицы видно, что столбцы x5, x6 и x7 выражены в процентах, поэтому нам нужно избавиться от процента ( %) условное обозначение:

df4['x5'] = list(map(lambda x: x[:-1], df4['x5'].values))
df4['x6'] = list(map(lambda x: x[:-1], df4['x6'].values))
df4['x7'] = list(map(lambda x: x[:-1], df4['x7'].values))

д) Преобразование данных в числовую форму

Обратите внимание, что значения столбцов для столбцов x5, x6 и x7 имеют строковые типы данных (даже после удаления символа%), поэтому нам нужно преобразовать их в числовые данные следующим образом:

df4['x5'] = [float(x) for x in df4['x5'].values]
df4['x6'] = [float(x) for x in df4['x6'].values]
df4['x7'] = [float(x) for x in df4['x7'].values]

f) Просмотр окончательной формы преобразованных данных

df4.head(n = 5)

g) Экспорт окончательных данных в файл csv

df4.to_csv('table_1_final.csv',index = False)

Таким образом, мы показали, как можно удалить знак процента (%) из столбца данных и как преобразовать столбец в числовой тип, чтобы сделать его пригодным для численных расчетов. Аналогичный подход можно использовать для удаления нежелательных знаков, таких как знак плюса (+), знак минуса (-) и т. Д.