为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中基于分隔符的熊猫数据框中的值从内部的值创建新行?

如何在Python中基于分隔符的熊猫数据框中的值从内部的值创建新行?

GCT1015 2022-11-01 16:51:02
我有如下数据框。我想将列 zip 中的值拆分为行值,如下所示。这些值可以_ ,.由这些分隔符分隔。这如何在 python 中完成。输入df.head(5)    Date    Item_Code   Type    Zip    1/1/2020    A   Long    07_08_09    12/4/2020   B   Small   AB_CD_EF_GF    13/4/2020   A   Long    08_14    1/5/2020    A   Long        21/5/2020   B   Small   09,07,16    22/5/2020   B   Small   AB,07预期产出Date    Item_Code   Type    Zip1/1/2020    A      Long    071/1/2020    A      Long    081/1/2020    A      Long    0912/4/2020   B      Small   AB12/4/2020   B      Small   CD12/4/2020   B      Small   EF12/4/2020   B      Small   GF13/4/2020   A      Long    0813/4/2020   A      Long    141/5/2020    A      Long 21/5/2020   B      Small   0921/5/2020   B      Small   0721/5/2020   B      Small   1622/5/2020   B      Small   AB22/5/2020   B      Small   07
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

首先使用Series.str.splitwitg 正则表达式,然后分配回DataFrame.assign然后使用DataFrame.explode,我还在最后一步创建了默认的唯一索引:

df1 = (df.assign(Zip = df['Zip'].str.split('[_ ,\.]'))

         .explode('Zip')

         .reset_index(drop=True))

print (df1)

         Date Item_Code   Type  Zip

0    1/1/2020         A   Long   07

1    1/1/2020         A   Long   08

2    1/1/2020         A   Long   09

3   12/4/2020         B  Small   AB

4   12/4/2020         B  Small   CD

5   12/4/2020         B  Small   EF

6   12/4/2020         B  Small   GF

7   13/4/2020         A   Long   08

8   13/4/2020         A   Long   14

9    1/5/2020         A   Long  NaN

10  21/5/2020         B  Small   09

11  21/5/2020         B  Small   07

12  21/5/2020         B  Small   16

13  22/5/2020         B  Small   AB

14  22/5/2020         B  Small   07


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信