При анализе данных и задачах предварительной обработки часто возникает проблема с отсутствующими или неправильными значениями. Один конкретный сценарий включает замену значений пробелов на нулевое значение (NaN) в кадре данных Pandas. В этой статье мы рассмотрим пять эффективных методов выполнения этой задачи, а также примеры кода. Давайте погрузимся!
Метод 1: использование функции replace()
import pandas as pd
df.replace(r'^\s*$', float('nan'), regex=True, inplace=True)
Метод 2: применение функции strip()перед заменой
import pandas as pd
df = df.apply(lambda x: x.str.strip())
df.replace('', float('nan'), inplace=True)
Метод 3: использование функции numpy.where()
import pandas as pd
import numpy as np
df = pd.DataFrame({'col1': [' ', 'abc', ' ', '123']})
df['col1'] = np.where(df['col1'].str.strip() == '', np.nan, df['col1'])
Метод 4. Использование регулярных выражений и numpy.where()
import pandas as pd
import numpy as np
df['col1'] = np.where(df['col1'].str.contains(r'^\s*$'), np.nan, df['col1'])
Метод 5: использование функции mask()
import pandas as pd
df = df.mask(df.apply(lambda x: x.str.strip()) == '')
В этой статье мы рассмотрели пять эффективных методов замены значений пробелов на нулевое значение (NaN) в кадре данных Pandas. Эти методы обеспечивают гибкость и позволяют обрабатывать различные сценарии, в которых значения пробелов необходимо рассматривать как недостающие данные. Используя соответствующий метод в зависимости от ваших конкретных требований, вы можете обеспечить целостность и точность данных в своем анализе.