2017-08-09 37 views
0

需要一些幫助 - 我認爲這不是太困難,但有一個心理障礙。 我試圖將一列中的數據框轉換爲兩列,並用逗號分隔。下面是我使用的代碼:用逗號分隔兩列數據框python

log_model2coeff_df = log_model2coeff_df['lol'].apply(lambda x :pd.Series(x.split(','))) 


+-----------------------------------------------+ 
|      lol      | 
+-----------------------------------------------+ 
| ('Principal', array([-0.00088419]))   | 
| ('age', array([ 0.01724407]))     | 
| ('Male', array([-0.31822202]))    | 
| ('High School or Below', array([-0.0003084])) | 
| ('Master or Above', array([ 0.02205005]))  | 
| ('college', array([ 0.10759677]))    | 
+-----------------------------------------------+ 

我希望它看起來像:

+---------------------------------------------------+ 
|  lol    |   lol2   |               
+---------------------------------------------------+ 
| ('college'    | array([ 0.10759677])) | 
| ('age'     | array([ 0.01724407])) | 
| ('Principal'   | array([-0.00088419])) | 
| ('Master or Above'  | array([ 0.02205005])) | 
| ('Male'     | array([-0.31822202])) | 
| ('High School or Below' | array([-0.0003084])) | 
+---------------------------------------------------- 


Thanks in advance 

回答

0

這是最簡單的到分割的結果存儲在一箇中間變量。

split = df['lol'].str.split(',') 
df['lol'] = split.apply(lambda x: x[0]) 
df['lol2'] = split.apply(lambda x: x[1]) 
+0

嗨csander,感謝您的快速回復!但是,代碼似乎給出了一個錯誤:TypeError:'float'對象不可訂閱 – Tauseef

+0

您的列'lol'是否已經包含元組?我認爲它有字符串,你分裂在逗號字符,但這不會真正有道理,因爲你是從分裂獲得對象,而不是字符串。 – csander