2017-12-05 8 views
1

私はパンダのデータフレームを持っている:私は、このようなPython Pandas:括弧内の列をデータフレームの列から分割する方法は?

 Product  Room Price 
0 Berlin Stret E10 12 
1 Paris Ave  C12 34 
2 5th Ave   D30 56 

として2列の列製品を分割しようとしています

In [8]: test 
Out[8]: 
      Product   Price 
0  Berlin Stret (E10)  12 
1  Paris Ave (C12)  34 
2  5th Ave (D30)   56 

私はあなたが使用することができます

df['Product'], df['Room'] = df['Product'].str.split('()', 1).str 

答えて

1

を使用しようとしました正規表現extract

df[['product','room']]= df.Product.str.extract('(.)\s\((.\d+)', expand=True) 

出力(小文字の製品新しい列):

Product Price product room 
0 A (E10)  12  A E10 
1 B (C12)  34  B C12 
2 C (D30)  56  C D30 

または正規表現を使用して '|'スプリット付き:

df[['product','room']] = df.Product.str.split('\(|\)', expand=True).iloc[:,[0,1]] 

出力:私が持っている場合は、 `DF [ '製品'] [0] = 'ベルリン・ストリート(E10)'`と私がしたい:

Product Price product room 
0 A (E10)  12  A E10 
1 B (C12)  34  B C12 
2 C (D30)  56  C D30 
+0

はい、それは文字で動作します''Berlin Street' 'E10''の列を分ける? – emax

+0

2番目の方法はまだ有効です。最初の '。'を最初の '。'の後に追加する必要がある最初の方法です。 –

関連する問題