如何在python中将列中的元素拆分为更多列

如何在python中将列中的元素拆分为更多列,python,dataframe,split,Python,Dataframe,Split,我有这个df: 我想将每列中的元素拆分为更多列。因此,我的输出应该如下所示: 我一直在尝试使用以下代码: dff = df.columna.str.split(expand=True) dff 但是正在生成的输出看起来像第一个图像。我不确定如何解决这个问题。您必须将列的名称和分隔符指定为,': dff[['column0','column1','column2','column3','column4','column5']] = dff['columna'].str.split(',',e

我有这个df:

我想将每列中的元素拆分为更多列。因此,我的输出应该如下所示:

我一直在尝试使用以下代码:

dff = df.columna.str.split(expand=True)
dff

但是正在生成的输出看起来像第一个图像。我不确定如何解决这个问题。

您必须将列的名称和分隔符指定为
,'

dff[['column0','column1','column2','column3','column4','column5']] = dff['columna'].str.split(',',expand=True)
dff

假设您有以下数据帧:

df = pd.DataFrame({'columna': ['a,b,c', 'x,y', 'd,e,f', 'g,h,i,j,k,l,m']})
然后:

创建:

  column0 column1 column2 column3 column4 column5 column6
0       a       b       c    None    None    None    None
1       x       y    None    None    None    None    None
2       d       e       f    None    None    None    None
3       g       h       i       j       k       l       m

例如,
洗涤剂
来自哪里?在您的原始数据帧中没有这个值。第二个图像只是我的原始数据帧的一个示例。每个元素应位于不同的列中,如图2所示。
  column0 column1 column2 column3 column4 column5 column6
0       a       b       c    None    None    None    None
1       x       y    None    None    None    None    None
2       d       e       f    None    None    None    None
3       g       h       i       j       k       l       m