Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
171 views
in Technique[技术] by (71.8m points)

python - How to create new column in Pandas, based on another column by matching different string values?

I want to create new column, based on text, included in a another columns string values. i've got a large df with column 'start_url':

for exaple:

df['start_url'].head(4)

And i want something like this:

df['start_event'].head(4)

  • 0 mainscreen
  • 1 news
  • 2 city_selection
  • 3 product_page

What's the easiest way to do this?

question from:https://stackoverflow.com/questions/65933697/how-to-create-new-column-in-pandas-based-on-another-column-by-matching-differen

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use Series.map() function to do this:

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...