1. 程式人生 > >Pandas技巧:將一列分隔成多個列

Pandas技巧:將一列分隔成多個列

專案中遇到一個問題,蒐集的資料只有一列,每行的資料都是通過特殊字元分隔,現在需要將其分隔成多個列。
原始資料如下:

			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列。