python - Pandas 按逗号将列拆分为多列

标签 python pandas csv dataframe split

我正在尝试根据逗号/空格分隔将一列拆分为多列。

我的数据框目前看起来像

     KEYS                                                  1
0   FIT-4270                                          4000.0439
1   FIT-4269                                          4000.0420, 4000.0471
2   FIT-4268                                          4000.0419
3   FIT-4266                                          4000.0499
4   FIT-4265                                          4000.0490, 4000.0499, 4000.0500, 4000.0504,

我愿意

   KEYS                                                  1           2            3        4 
0   FIT-4270                                          4000.0439
1   FIT-4269                                          4000.0420  4000.0471
2   FIT-4268                                          4000.0419
3   FIT-4266                                          4000.0499
4   FIT-4265                                          4000.0490  4000.0499  4000.0500  4000.0504 

我的代码目前删除了 KEYS 列,我不确定为什么。谁能改进或帮助解决问题?

v = dfcleancsv[1]

#splits the columns by spaces into new columns but removes KEYS?

dfcleancsv = dfcleancsv[1].str.split(' ').apply(Series, 1)

最佳答案

如果其他人想要将单个列(由值分隔)拆分为多个列 - 试试这个:

series.str.split(',', expand=True)

这回答了我来这里寻找的问题。

归功于 EdChum's包括将拆分列添加回数据框的代码。

pd.concat([df[[0]], df[1].str.split(', ', expand=True)], axis=1)

注意:第一个参数df[[0]]DataFrame

第二个参数 df[1].str.split 是您要拆分的系列。

split Documentation

concat Documentation

关于python - Pandas 按逗号将列拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37600711/

相关文章:

python - Enthought Canopy 1.1 给出错误 icui18n : cannot open shared object file: No such file or directory

Python 全局变量的使用

sql - 使用 Postgresql 将来自多个 csv 文件的大量数据插入到不同的表中

mysql - phpmyadmin 将 csv 从 unicode 导入到 utf8

python - 这个错误是什么意思 : ValueError: unknown POST form encoding type ' ' (and how to solve it? )

python - 过滤列表中的每个项目以检查它是否在 ID 列表中

python - Bokeh 条形图 : color bars by category

python - 根据不在另一个数据集中的值过滤数据集

python - 删除行不是 .isin ('X' )

excel - 将文件另存为 CSV UTF8 会出现错误 1004