将数据帧字符串(当字符串可以容纳该单元格变量的n个值时)拆分为多列



目前正在处理一个包含大量联系人数据的数据集,电子邮件是其中一个变量。

"电子邮件"列中的一个单元格可以有多封电子邮件(1到n(,它们都用逗号和空格分隔。

对于只有两封电子邮件的联系人来说,这个过程将非常简单。可以拆分字符串,并为第二封电子邮件创建一个新列,如下所示

email_df[['Emails', 'SecondaryEmail']] = email_df['Emails'].str.split(', ', expand=True)

然而,这不会适用于超过2封电子邮件。因此,我想知道,当电子邮件数量从1到n(在这种情况下,n限制在10左右,但并不总是这样(时,将电子邮件拆分为每个只有一封电子邮件(每个都有不同的名称(的列,最有效的方法是什么?

使用Series.str.splitSeries.str.rsplitDataFrame.pop在处理后删除列Email

df = email_df.join(email_df.pop('Emails').str.split(', ', expand=True).add_prefix('Email'))

最新更新