Miyashita Hikaru Miyashita Hikaru - 3 months ago 8
Python Question

how to split 'number' to separate columns in pandas DataFrame

I have a dataframe;

df=pd.DataFrame({'col1':[100000,100001,100002,100003,100004]})

col1
0 100000
1 100001
2 100002
3 100003
4 100004


I wish I could get the result below;

col1 col2 col3
0 10 00 00
1 10 00 01
2 10 00 02
3 10 00 03
4 10 00 04


each rows show the splitted number. I guess the number should be converted to string, but I have no idea next step....
I wanna ask how to split number to separate columns.

Answer
# make string version of original column, call it 'col'
df['col'] = df['col1'].astype(str)

# make the new columns using string indexing
df['col1'] = df['col'].str[0:2]
df['col2'] = df['col'].str[2:4]
df['col3'] = df['col'].str[4:6]

# get rid of the extra variable (if you want)
df.drop('col', axis=1, inplace=True)