0
0 комментариев

Работа в pandas. Данные выглядят так:

merged4_new['pgfamstd']
Out[57]:
0              [1] verheiratet zus.
1              [1] verheiratet zus.
2              [1] verheiratet zus.
3              [1] verheiratet zus.
                      ...
470702                    [3] ledig
470703         [1] verheiratet zus.
470704                    [3] ledig
470705         [1] verheiratet zus.
470706                    [3] ledig

Посмотрев на распределение я хочу удалить некоторые значения переменной:

merged4_new['pgfamstd'].value_counts()
Out[66]:
[1] verheiratet zus.         289419
[3] ledig                    108685
[4] geschieden                27042
[5] verwitwet                 26310
[2] verheiratet getr.          7887
[6] Ehepartner im Ausland       825
-1.0                             21
-3.0                             10
Name: pgfamstd, dtype: int64

А Именно значения [6] Ehepartner im Ausland, -1.0, -3.0.
Пока я смог это сделать только используя LabelEncoder из sklearn.preprocessing присвоить новые значения переменной pgfamstd и тогда с числовыми значениями для неё мы можем избавиться от отрицательных значений используя merged4_new = merged4[merged4['pgfamstd']>1] команду. Но тогда значения переменной присвоенные ранее теряют последовательность и остаётся только ряд разбросанных категорий. Например вместо ранжировки 012345 остаётся 1345.

Я хотел использовать маску или отбор данных, с использованием логического И &, в начале, чтобы с самого начала удалить часть значений из переменной. Но получал ошибку.
Как мне удалить часть переменной чтобы структура присвоенных числовых значений категориям переменной в последующем оставалась целостной?

merged4_new['pgfamstd'].dtype
Out[67]: dtype('O')


Добавить комментарий