两列的唯一值不在另一列中

2024-06-02 08:40:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有3列,例如team1、team2和winner

(顺便说一句,我有一个大数据集,我只是在这里举一个小例子)

我想找到永远不会赢的人

所以我想的是找到团队1和团队2的独特价值 然后从唯一值中,找出哪个值不会出现在优胜者列表中

team1                        team 2                       toss_winner

Kolkata knight riders       delhi daredevil               delhi daredevils

kings XI punjab            pune warriors                 kings XI punjab

delhi daredevil            mumbai indians                delhi daredevil

pune warriors              chennai superkings            chennai superkings

rajasthan royals           gujarat lions                 gujarat lions

Sunrisers Hyderabad         decan chargers               Sunrisers Hyderabad

Royalchallenger Banglore    Kolkata knight riders        Kolkata knight riders

chennai superkings          rajasthan royals             rajasthan royals

a=np.unique(df[['team1', 'team2']])

b=(df["toss_winner"]).unique()

Tags: 团队knightdelhiwinnerkingsteam1team2chennai
1条回答
网友
1楼 · 发布于 2024-06-02 08:40:44
uniqueTeams = np.unique(np.concatenate([df['team1'].values, df['team2'].values]))

df.loc[~df['toss_winner'].isin(uniqueTeams), 'toss_winner']

首先,连接两列的所有值,然后查看唯一值。接下来,您将查看uniqueTeams~df['toss_winner'].isin(uniqueTeams)中没有的值,然后查看我们的“toss\u winner”列

你必须小心,因为如果你有 “加尔各答骑士”,但在team2栏中有“加尔各答骑士”。这些将被视为独特的团队,因此您必须在执行任何其他操作之前真正清理数据

相关问题 更多 >