根据另一列中字符串的内容向数据框添加一列

时间:2020-04-11 18:54:38

标签: python pandas

我的数据框看起来像这样

Year   Event 
2015   Men's 100m 
2016   Men's Archery
2016   Women's Archery
2017   Men's Weightlifting
1998   Women's 100m
2002   Women's Sailing

我想在此数据框中添加一个新列,以标识它是否是男性事件。所需的输出如下所示:

Year   Event               Gender
2015   Men's 100m          M
2016   Men's Archery       M
2016   Women's Archery     F
2017   Men's Weightlifting M
1998   Women's 100m        F
2002   Women's Sailing     F

这甚至可能吗?任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

您可以使用pd.Series.str函数-

df['Gender'] = df.Event.str.contains('Men').apply(lambda x: 'M' if x else 'F') 

答案 1 :(得分:0)

一个简单的方法是:

df['Gender'] = ['M' if 'Men' in row['Event'] else 'F' for _,row in df.iterrows()]