Итак, я работал с пандами на питоне и получил извлеченные данные из внешней системы с большим количеством пробелов в конце каждого столбца. У меня возникла идея использовать для каждой серии метод str.strip() с кодом:
Data["DESCRIPTION"] = Data["DESCRIPTION"].str.strip()
В основном он выполнял свою работу, но я заметил, что когда я проверяю свойства фрейма данных с помощью, я сталкиваюсь с проблемой, что если в одном значении были только пробелы без текста, то оно пусто, но оно не преобразует этот скаляр как нуль:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 18028 entries, 0 to 18027
Data columns (total 11 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 VIN 18028 non-null object
1 DESCRIPTION 18028 non-null object
2 DESCRIPTION 2 18028 non-null object
3 ENGINE 18023 non-null object
4 TRANSMISSION 18028 non-null object
5 PAINT 18028 non-null object
6 EXT_COLOR_CODE 18028 non-null object
7 EXT_COLOR_DESC 18028 non-null object
8 INT_COLOR_DESC 18028 non-null object
9 COUNTRY 18028 non-null object
10 PROD_DATE 18028 non-null object
dtypes: object(11)
memory usage: 1.5+ MB
Однако проверка условия, если строка пуста:
Data['DESCRIPTION 2'] == ""
0 True
1 True
2 True
3 True
4 True
...
18023 True
18024 True
18025 True
18026 True
18027 True
Name: DESCRIPTION 2, Length: 18028, dtype: bool
Как я мог бы преобразовать все это как null, чтобы я мог удалить их с помощью функции dropna()?
Буду признателен за любые предложения.






Чтобы удалить конечные пробелы и заменить пустую строку или записи только пробелами, как Нэн, выполните приведенную ниже команду.
Data["DESCRIPTION"].str.strip().replace(r'^\s*$', np.nan, regex=True)
Пожалуйста, обратитесь к этой странице Замена пустых значений (пробелов) на NaN в пандах
Data["DESCRIPTION"] = Data["DESCRIPTION"].str.strip().replace('', np.nan)