pandas 将列值转换为列

6yt4nkrj  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(174)
Column1 Column2 Column3
John   IT:09, admin:10  Yes
krish   It:10, Admin:02   No

需要column2值作为单独的列

Column1 IT.  Admin  Column3
John    09    10   Yes
Kirsh  10   02    No
dced5bon

dced5bon1#

如果要删除原始列,请将str.extractallunstackpop一起使用:

df[['ID', 'Admin']] = df.pop('Column2').str.extractall(r'(\d+)')[0].unstack()

如果字符串中存在少于或多于2位数的风险,则强制具有2列reindex

df[['ID', 'Admin']] = (df.pop('Column2').str.extractall(r'(\d+)')[0]
                         .unstack().reindex(columns=[0, 1])
                      )

输出量:

Column1 Column3  ID Admin
0    John     Yes  09    10
1   krish      No  10    02

相关问题