Back

Explore Courses Blog Tutorials Interview Questions
0 votes
1 view
in Data Science by (17.6k points)

I have a data frame with one column and I'd like to split it into two columns, with one column header as 'fips' and the other 'row'

My dataframe df looks like this:

          row

0    00000 UNITED STATES

1    01000 ALABAMA

2    01001 Autauga County, AL

3    01003 Baldwin County, AL

4    01005 Barbour County, AL

I do not know how to use df.row.str[:] to achieve my goal of splitting the row cell. I can use df['fips'] = hello to add a new column and populate it with hello. Any ideas?

         fips       row

0    00000 UNITED STATES

1    01000 ALABAMA 

2    01001 Autauga County, AL

3    01003 Baldwin County, AL

4    01005 Barbour County, AL

1 Answer

0 votes
by (41.4k points)

Here's one approach for splitting a column into two columns:

In [34]: import pandas as pd

In [35]: df

Out[35]: 

                        row

0       00000 UNITED STATES

1             01000 ALABAMA

2  01001 Autauga County, AL

3  01003 Baldwin County, AL

4  01005 Barbour County, AL

In [36]: df = pd.DataFrame(df.row.str.split(' ',1).tolist(),

                                   columns = ['flips','row'])

In [37]: df

Out[37]: 

   flips                 row

0  00000       UNITED STATES

1  01000             ALABAMA

2  01001  Autauga County, AL

3  01003  Baldwin County, AL

4  01005  Barbour County, AL

Browse Categories

...