如何在Pandas中创建新的列,基于另一个列通过匹配不同的字符串值?



我想创建一个新的列,基于文本,包含在另一个列字符串值。我有一个大df与列'start_url':

做法:

df (' start_url '] .head (4)

https://sitename.com/
  • 0
  • 1 https://sitename.com/about/news/
  • 2 https://sitename.com/?click_id=8YeZ1Ti4adZixjK&城市=
  • https://sitename.com//product/
  • 3

我想要这样写:

df (' start_event '] .head (4)

  • 0 mainscreen
  • <
  • 1新闻/gh>
  • 2 city_selection
  • 3 product_page

最简单的方法是什么?

您可以使用Series.map()函数来完成此操作:

your_dic = {
"https://sitename.com/": "mainscreen",
"https://sitename.com/about/news/": "news",
"https://sitename.com/?click_id=8YeZ1Ti4adZixjK&city=City": "city_selection",
"https://sitename.com//product/": "product_page"
}
df['start_event'] = df['start_url'].map(your_dic)

相关内容

最新更新