假设某一列数据包含多个信息
id | attrs |
A | 1,2,5,3 |
B | 3,1,2,5 |
C | 1,2,0,3 |
D | 1,7,5,3 |
E | 2,1,6,8 |
我们想把他拆分成多列,做法如下:
首先进行拆分 data_df = data_df['attrs'].str.split(',', expand=True)
然后用pd.concat把多列加回data_df,pd.concat([], axis=1, names=new_names)
合起来就是
pd.concat([data_df, data_df['attrs'].str.split(',', expand=True)], axis=1,names=new_names)
运行结果如下:
id | new_col1 | new_col2 | new_col3 | new_col4 |
A | 1 | 2 | 5 | 3 |
B | 3 | 1 | 2 | 5 |
C | 1 | 2 | 0 | 3 |
D | 1 | 7 | 5 | 3 |
E | 2 | 1 | 6 | 8 |