How to I extract int value in string value and put it in int column?

Question:

I have a dataframe with over 100,000 rows and 200 columns

there are some nan values in FALLDOWN_FLOOR column so I would like to extract int value out of FALLDOWN_LOCATION and fill nan values in FALLDOWN_FLOOR.

here is the example of FALLDOWN_LOCATION COLUMN

9                                                도로옆 옹벽/10층
106                                        5층 빌라에서 1층으로 투신함
109                                             병원 7층 옥상 투신
112                                        15층 아파트 베란다에서 투신
113                                                     10층
129                                                     14층
133                            아파트 13층과 14층 사이 계단 창문으로 뛰어내림
136                          아파트 13층 높이에서 투신하여 2층 난간으로 떨어짐.

I want to put int value whatever comes with ‘층’ first so desired output of FALLDOWN_FLOOR column would be like this:

9                                                10
106                                        5
109                                             7
112                                        15
113                                                     10
129                                                     14
133                            13
136                          13

so when I input df.loc[con, ['FALLDOWN_FLOOR','FALLDOWN_LOCATION']] the output should be like this:

               FALLDOWN_FLOOR     FALLDOWN_LOCATIOIN
9                    10     도로옆 옹벽/10층
106                  5     5층 빌라에서 1층으로 투신함
109                  7     병원 7층 옥상 투신
112                  15     15층 아파트 베란다에서 투신
113                  10     10층
129                  14     14층
133                  13     아파트 13층과 14층 사이 계단 창문으로 뛰어내림
136                  13     아파트 13층 높이에서 투신하여 2층 난간으로 떨어짐.
Asked By: Chung Joshua

||

Answers:

Use Series.str.extract with digits before :

df['FALLDOWN_FLOOR'] = df['FALLDOWN_LOCATION'].str.extract(r'(d+)층', expand=False)
print (df[['FALLDOWN_FLOOR','FALLDOWN_LOCATION']])
    FALLDOWN_FLOOR               FALLDOWN_LOCATION
i                                                 
9               10                      도로옆 옹벽/10층
106              5                5층 빌라에서 1층으로 투신함
109              7                     병원 7층 옥상 투신
112             15                15층 아파트 베란다에서 투신
113             10                             10층
129             14                             14층
133             13    아파트 13층과 14층 사이 계단 창문으로 뛰어내림
136             13  아파트 13층 높이에서 투신하여 2층 난간으로 떨어짐.
Answered By: jezrael
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.