2017-08-15 50 views
1

我有一個初步名單,我轉向了DF:鬥爭轉換格式DF和不知道爲什麼

['Fuerte venta (0,00)*', 'Infraponderar (0,00)*', 'Neutral (14,00)*', 'Sobreponderar (2,00)*', 'Fuerte compra (11,00)*'] 

        1 
0 
Fuerte venta (0,00)* 
Infraponderar (0,00)* 
Neutral  (14,00)* 
Sobreponderar (2,00)* 
Fuerte compra (11,00)* 

然後以除去不需要的子' (' , ') ' and ' * '我想:

df1=df.replace({'(':'',')*':''},regex=True) 

出現的錯誤:

sre_constants.error: missing), unterminated subpattern at position 0 

然後我試圖

df1=df.replace('(','').replace(')*','') 

返回相同的初始輸入。

所需的輸出將是:

    1 
0 
Fuerte venta 0,00 
Infraponderar 0,00 
Neutral   14,00 
Sobreponderar 2,00 
Fuerte compra 11,00 

我認爲問題是,值的數據類型是array,這就是爲什麼replace不會在所有的工作。

任何人都可以幫助我理解問題以及如何解決它?

回答

1

我會rsplit改變previous answer這個

df = pd.DataFrame({'0': ['Fuerte venta (0,00)*', 'Infraponderar (0,00)*', 'Neutral (14,00)*', 'Sobreponderar (2,00)*', 'Fuerte compra (11,00)*']}) 

df['0'].str.extract('(.*)\s\((.*)\)', expand = True) 

    0    1 
0 Fuerte venta 0,00 
1 Infraponderar 0,00 
2 Neutral   14,00 
3 Sobreponderar 2,00 
4 Fuerte compra 11,00 
相關問題