基于另一列从一列中删除单词,然后创建并将其放入新列

Posted

技术标签:

【中文标题】基于另一列从一列中删除单词,然后创建并将其放入新列【英文标题】:Remove word from one column base on another column then create and put it in new column 【发布时间】:2021-11-29 19:20:39 【问题描述】:

所以,例如,我有这个数据框:

branch_name        | address
Mcdonald's - BGC   | 2nd str. BGC
Jollibee - Taguig  | BGC, Taguig
...

如何根据address 中的单词从branch_name 中删除单词,如下面的数据,然后创建一个新列来存储每行的输出。

branch_name        | address       | store_name
Mcdonald's - BGC   | 2nd str. BGC  | Mcdonald's
Jollibee - Taguig  | BGC, Taguig   | Jollibee
...

对于预期的输出,除撇号外的特殊字符也已删除。

【问题讨论】:

你有 python 2.7 标记这是什么版本的熊猫?当前可用的功能与早期版本有很大不同。 熊猫==0.24.2 @HenryEcker 【参考方案1】:

您可以通过正则表达式使用df.str.extract

df['store_name'] = df.branch_name.str.extract('(\S+)')

【讨论】:

它只获取商店的第一个单词。例如:“Ichi Station - Porta Vittoria”,它只会得到“Ichi”。

以上是关于基于另一列从一列中删除单词,然后创建并将其放入新列的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2012 Express 如何从一列中提取信息并将其与具有表达式限制的另一列进行比较

根据另一列的位置从一组列中返回值

在另一列上查找最近的时间戳并在新列中添加值 PySpark

熊猫从数据框中的一列中提取部分字符串并将其存储在一个新列中

Pandas:根据字符串的一部分是不是在另一列中的任何位置创建新列

使用窗口函数根据另一列从列中检索值