根据其他列的唯一值重命名列值

问题描述 投票:0回答:1

给出一个数据框:

df = 

  id_easy   ordinal   weekday
0       0         1   Tuesday
1       0         2   Monday
2       0         3   Monday
3       1         1   Saturday
4       1         2   Tuesday

我要检查:

  • 在每个id_easy唯一值中,当weekdayordinal时,将1列重命名为其值。

所需的输出:

df = 

  id_easy   ordinal   weekday
0       0         1   Tuesday       # as this is Tuesday
1       0         2   Tuesday       # so this became Tuesday as well
2       0         3   Tuesday       # so this became Tuesday as well
3       1         1   Saturday      # as this is Saturday
4       1         2   Saturday      # so this became Saturday as well
python pandas numpy
1个回答
1
投票

您可以使用groupby

df.weekday = df.groupby('id_easy')['weekday'].transform('first') 

输出:

   id_easy  ordinal   weekday
0        0        1   Tuesday
1        0        2   Tuesday
2        0        3   Tuesday
3        1        1  Saturday
4        1        2  Saturday
© www.soinside.com 2019 - 2024. All rights reserved.