Вот мои данные:
player pos avg
0 Antonio Brown WR1 1.0
1 Julio Jones (11) WR2 2.3
2 Odell Beckham Jr. (13) WR3 2.8
3 Todd Gurley (11) RB1 4.8
4 DeAndre Hopkins (9) WR4 5.8
... ... ... ...
546 Kai Forbath (7) K31 538.0
547 Cody Parkey K32 539.0
548 Wil Lutz (5) K33 542.0
549 Andrew Franks K34 543.0
550 Caleb Sturgis K35 544.0
Я использовал следующий код регулярного выражения, чтобы избавиться от скобок и всех символов внутри них:
df['player'] = df['player'].str.replace(r"\(.*\)","")
Что дало мне то, что я хотел:
player pos adp
0 Antonio Brown WR1 1.0
1 Julio Jones WR2 2.3
2 Odell Beckham Jr. WR3 2.8
3 Todd Gurley RB1 4.8
4 DeAndre Hopkins WR4 5.8
... ... ... ...
546 Kai Forbath K31 538.0
547 Cody Parkey K32 539.0
548 Wil Lutz K33 542.0
549 Andrew Franks K34 543.0
550 Caleb Sturgis K35 544.0
Однако теперь, когда я использую .lo c, ничего не отображается!
df.loc[(df.player=='Julio Jones')]
player pos adp pos_adp season
Но когда я использую .lo c в столбце, который изначально не был есть скобки, это работает:
df.loc[(df.player=='Antonio Brown')]
player pos adp pos_adp season
0 Antonio Brown WR1 1.0 1 2016
Это так неприятно, почему .lo c не работает, если я эффективно использовал регулярное выражение в столбцах?