数据框熊猫拆分str

时间:2019-06-11 18:11:59

标签: python-3.x pandas numpy

我得到一个数据框,其中包含带有数字的列,其中一些是单个数字(1234),而另一些包含多个数字(12340-567-8900) 我找到了一种拆分多个数字的方法,但是如果我的列中包含单个数字,我的代码将失败。

有人能指出我正确的方向吗?

    `lens = df['EPDNr'].str.split('-').map(len)
     res = pd.DataFrame({'Title':np.repeat(df['Title'],lens),
                'Kundenummer':np.repeat(df['Kundenummer'],lens),
                'Avvikstype':np.repeat(df['Avvikstype'],lens),
                'Ordrenummer':np.repeat(df['Ordrenummer'],lens),
                'EPDNr':chainer(df['EPDNr']),
               'Antall':chainer(df['Antall'])})

我希望我的输出看起来像  列标题:EPDNR 单元格a1 1234 单元格a2 12340 细胞a3 567 单元格a4 8900等。

1 个答案:

答案 0 :(得分:2)

您可以使用expand = True:

In [11]: s = pd.Series(["1234-567-8900", "12"])

In [12]: s.str.split("-", expand=True)
Out[12]:
      0     1     2
0  1234   567  8900
1    12  None  None