Как я могу извлечь номер из описания и установить его в другой столбец во фрейме данных Pandas - PullRequest
0 голосов
/ 15 октября 2019

У меня есть фрейм данных pandas, похожий на приведенную выше таблицу.

|------------------------------------|
| ID |      Description       | area |
|------------------------------------|
| 1  | House with 80m2        | NaN  |
|------------------------------------|
| 2  | House with 100 meters  | NaN  |
|------------------------------------|
| 3  | House with 90 m2       | 90   |
|------------------------------------| 

И мне нужно извлечь числовую информацию из столбца описания и вставить в область, когда значение равно NaN.

|------------------------------------|
| ID |      Description       | area |
|------------------------------------|
| 1  | House with 80m2        |  80  |
|------------------------------------|
| 2  | House with 100 meters  |  100 |
|------------------------------------|
| 3  | House with 90 m2       |  90  |
|------------------------------------| 

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Предполагая, что у вас есть только один номер (целое число) для описания, используйте np.where + str.extract :

df['area'] = np.where(pd.isna(df.area), df.Description.str.extract('(\d+)'), df.area)
print(df)

Выход

   ID            Description area
0   1        House with 80m2   80
1   2  House with 100 meters  100
2   3       House with 90 m2   90
0 голосов
/ 15 октября 2019

Чтобы остаться в пандах, попробуйте

df['area'] = df['area'].fillna(df['des'].str.extract('(\d+)')[0])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...