Pandas技巧:將一列分隔成多個列
阿新 • • 發佈:2018-12-21
專案中遇到一個問題,蒐集的資料只有一列,每行的資料都是通過特殊字元分隔,現在需要將其分隔成多個列。
原始資料如下:
0
0 155,NA,0,10,-99999,18,18,18,04,NA,0,-99999...
1 728,NA,24.1,74.81,-9999,18,18,18,-99999,...
這是前兩行的資料。原本使用特殊字元分隔的,這個好處理,只需通過string的replace方法替換成‘,’逗號即可。
下面就是要將這些一列的資料,再通過逗號’,'分隔成多個列。
方法如下:
df = df[0].str.split(',',expand=True)
注意上述程式碼中的0是列的名字,這裡由於原始資料沒有列名,所以pandas預設列名為0。如果原始資料是有列名的,則將0替換成‘列名’即可。
分隔後的資料如下:
0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99
0 155 NA 0 0 -99999 18 18 18 04 NA ... -99999 -99999 -99999 -99999 NA NA NA NA NA 4
1 728 NA 24.1 74.81 -99999 18 18 18 -99999 NA ... 01 -99999 NA NA NA NA NA 6
可以看到分隔後的dataFrame變為了100列。