我正尝试在我的数据框中添加一个新列,以指定“创建者”列中的用户是否是团队的一部分(保存在单独的列表中)。
原始数据框(df)
URL text created_by
id
1 www.pandora.com Pandora John
2 m.jcpenney.com other Steve
3 www.youtube.com You-tube Rob
4 www.facebook.com Facebook David
Team_Names = ['John','Steve','Rob','Euan']
我希望最终的数据帧包含一个具有True或False值的新列,具体取决于“ created by”值是否在“ Tam_Names”列表中
Team_Mask = df['Created by'].isin(Team_Names)
df['In_Team'] = df.[Team_Mask]
我在代码的最后一行遇到错误。任何帮助将不胜感激
答案 0 :(得分:1)
将掩码分配给新列:
Team_Names = ['John','Steve','Rob','Euan']
df['In_Team'] = df['created_by'].isin(Team_Names)
print (df)
URL text created_by In_Team
1 www.pandora.com Pandora John True
2 m.jcpenney.com other Steve True
3 www.youtube.com You-tube Rob True
4 www.facebook.com Facebook David False
或使用assign
:
df = df.assign(In_Team = df['created_by'].isin(Team_Names))