我有以下数据帧:

   Col
0  A,B,C
1  B,A,D
2  C
3  A,D,E,F
4  B,C,F
df = pd.DataFrame({'Col': ['A,B,C', 'B,A,D', 'C', 'A,D,E,F', 'B,C,F']})

这需要转化为:

   A B C D E F
0  A B C
1  A B   D
2      C
3  A     D E F
4    B C     F

谢谢你的帮助!

推荐答案

使用pandas.concat:

pd.concat([pd.Series((idx:=x.split(',')), index=idx)
           for x in df['Col']], axis=1).T

对于python<;3.8:

pd.concat([pd.Series(val, index=val)
           for x in df['Col']
           for val in [x.split(',')]], axis=1).T

输出:

     A    B    C    D    E    F
0    A    B    C  NaN  NaN  NaN
1    A    B  NaN    D  NaN  NaN
2  NaN  NaN    C  NaN  NaN  NaN
3    A  NaN  NaN    D    E    F
4  NaN    B    C  NaN  NaN    F

NB. add 100 to have empty strings for missing values

   A  B  C  D  E  F
0  A  B  C         
1  A  B     D      
2        C         
3  A        D  E  F
4     B  C        F

Python相关问答推荐

Python如何让代码在一个程序中工作而不在其他程序中工作

如何在不使用字符串的情况下将namedtuple属性传递给方法?

自定义新元未更新参数

过载功能是否包含Support Int而不是Support Int?

不允许AMBIMA API请求方法

从今天起的future 12个月内使用Python迭代

从管道将Python应用程序部署到Azure Web应用程序,不包括需求包

剧作家Python:expect(locator).to_be_visible()vs locator.wait_for()

LAB中的增强数组

具有多个选项的计数_匹配

如何在具有重复数据的pandas中对groupby进行总和,同时保留其他列

TARete错误:类型对象任务没有属性模型'

如何标记Spacy中不包含特定符号的单词?

什么相当于pytorch中的numpy累积ufunc

如何列举Pandigital Prime Set

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

使用groupby Pandas的一些操作

组/群集按字符串中的子字符串或子字符串中的字符串轮询数据框

在Django admin中自动完成相关字段筛选

Python—转换日期:价目表到新行