pouchewar
pouchewar

Reputation: 399

How to divide a string in parts to use in a dataframe

I have a column in a dataframe like this:

   description
link Miami portforward 155 gb
Link Berlin main  10 mbps
link Mexico sub-rout 1 mb

I want as output:

description                value      unit
link Miami portforward      155        gb
Link Berlin main            10         mbps
link Mexico sub-rout         1         mb

i tried something like [x for x in column if x isdigit()] but this is a complete fail.

How can I solve this?

Upvotes: 0

Views: 22

Answers (1)

Naveed
Naveed

Reputation: 11650

using rsplit and limit the split to 2

df['description'].str.rsplit(' ', 2,expand=True)
    0   1   2
1   link Miami portforward  155     gb
2   Link Berlin main    10  mbps
3   link Mexico sub-rout    1   mb

OR

alternately, using regex

df[['col1','col2']]=df['description'].str.extract(r'(\d+)\s(.*)')
df
    description     col1    col2
1   link Miami portforward 155 gb   155     gb
2   Link Berlin main 10 mbps    10  mbps
3   link Mexico sub-rout 1 mb   1   mb

Upvotes: 1

Related Questions