«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как заменить пустые значения (пробелы) на NaN в кадре данных Pandas?

Как заменить пустые значения (пробелы) на NaN в кадре данных Pandas?

Опубликовано 8 ноября 2024 г.
Просматривать:483

How do I replace blank values (whitespace) with NaN in a Pandas DataFrame?

Замена пустых значений (пробелов) на 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