我得到一个数据框,其中包含带有数字的列,其中一些是单个数字(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等。
答案 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