Замена пустых значений (пробелов) на NaN в Pandas
Очистка данных — важнейший шаг в анализе данных. Одной из распространенных задач является замена пустых значений (пробелов) на NaN. Это можно эффективно сделать с помощью Pandas.
Для этого используйте функцию df.replace(). Эта функция позволяет осуществлять поиск и замену значений DataFrame на основе регулярных выражений. Вот как это можно реализовать:
import numpy as np
import pandas as pd
df = pd.DataFrame([
[-0.532681, 'foo', 0],
[1.490752, 'bar', 1],
[-1.387326, 'foo', 2],
[0.814772, 'baz', ' '],
[-0.222552, ' ', 4],
[-1.176781, 'qux', ' '],
], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06'))
# Replace fields that contain only whitespace (or are empty) with NaN
print(df.replace(r'^\s*$', np.nan, regex=True))
# Output:
# A B C
# 2000-01-01 -0.532681 foo 0
# 2000-01-02 1.490752 bar 1
# 2000-01-03 -1.387326 foo 2
# 2000-01-04 0.814772 baz NaN
# 2000-01-05 -0.222552 NaN 4
# 2000-01-06 -1.176781 qux NaN
Обратите внимание, что этот код заменяет поля, которые содержат только пробелы или пусты (т. е. соответствуют регулярному выражению r'^\s*$'**) . Если ваши действительные данные содержат пробелы, измените регулярное выражение соответствующим образом (например, удалите **$ с конца для r'^\s ').
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3