Преобразование столбца, содержащего знак%, из строкового в числовой тип
Обработка данных - это процесс преобразования неструктурированных исходных данных в форму, готовую для дальнейшего анализа, такого как визуализация данных или построение модели. Иногда после обработки данных вы можете заметить, что некоторые столбцы могут содержать такие символы, как знак доллара ($), знак плюса (+), знак минуса (-) или знак процента (%). Любой столбец данных, содержащий один из этих знаков, рассматривается как строковый и, следовательно, не может использоваться для численных расчетов.
В этой статье я покажу, как удалить знак процента (%) из столбца данных. Затем, как только знак% будет удален, мы преобразуем столбец из строкового в числовой, чтобы сделать его пригодным для числовых манипуляций и вычислений. Аналогичный подход можно использовать для удаления нежелательных знаков, таких как знак плюса (+), знак минуса (-) и т. Д.
Я проиллюстрирую этот пример с помощью набора данных, извлеченного из файла 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)
Таким образом, мы показали, как можно удалить знак процента (%) из столбца данных и как преобразовать столбец в числовой тип, чтобы сделать его пригодным для численных расчетов. Аналогичный подход можно использовать для удаления нежелательных знаков, таких как знак плюса (+), знак минуса (-) и т. Д.