项目中遇到一个问题,搜集的数据只有一列,每行的数据都是通过特殊字符分隔,现在需要将其分隔成多个列。
原始数据如下:
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列。