给一个值匹配一个行,给定3个变量具有相同的值?

时间:2019-06-23 08:56:48

标签: python dataframe

对此问题感到困惑的歉意。我在这里写下来,因为我在移动设备上,绘制数据框更容易。我得到了2 df,并且我知道每一行中的所有球员都将对应于同一支球队,但是我需要一些东西来自动将该球队分配给球员所在的行。请不要在其中硬编码名称,因为有成千上万的行,而且我得到的是个人ID,而不是实际名称。

content and question

1 个答案:

答案 0 :(得分:0)

可能不是最理想的解决方案,但是您可以遍历每一行并检查所有球员是否都属于一个团队。由于您提到给您提供了个人ID,因此我假设它们是唯一的,因此该方法不会遇到重复的问题。 您在每一行中检索第一个玩家的ID,并找到它的团队。

i = 1
first_team = None
for row in playbyplay.iterrows():
    id = row['Player 1']
    if i == 1:
    first_team = linesups2.loc[lineups2['PlayerID'] == name]['TM']
    i += 1 # i is not important anymore
    flag = True
    for column in playbyplay.columns[1:]: # don't want to compare 'TM' column
        if linesups2.loc[lineups['PlayerID'] == row[column]['TM'] != first_team:
            flag = False
            break

    if flag == True:
        row['TM'] = first_name

我很快记下了这一点,因此可能会有一些小错误,但希望您能理解。