使用 panda .loc 函数 select 列中的特定数据

Use of panda .loc function in order to select a specific data within a column

我有一个可以在这个网站上找到的数据集:http://tennis-data.co.uk/alldata.php。它收集了几年来 WTA 和 ATP 网球比赛的结果。

我想知道选手“Federer R”打了多少盘。在 2016 年和 2017 年期间获胜,为此我使用了 .loc 函数,如下所示:

df = df_atp.loc[df_atp["Date"].between("01/01/2016", "31/12/2017"), ['Winner', 'Wsets']]
print(df)

当我打印 df 时,结果如下:(部分结果因为整个结果很长) result

我认为我走在正确的道路上,但我只想在我的结果中专门列出费德勒,但就像图片显示的那样,我有其他所有球员。我试图在 .loc 函数的末尾添加 ["Federer R."] 但它只会给我一个错误。

为了在结果中只有 Federer,我可以向 .loc 函数添加什么?

提前致谢! :D

df = df_atp.loc[df_atp["Date"].between("01/01/2016", "31/12/2017"), ['Winner', 'Wsets']]
df = df[df['Winner'] == 'Federer R.']
print(df)

是最易读的方式。你也可以做

df = df_atp.loc[df_atp["Date"].between("01/01/2016", "31/12/2017") & (df['Winner'] == 'Federer R.'), ['Winner', 'Wsets']]

在一行中完成,但为了易读性,我更喜欢第一种方法。

“查询”数据框时,请考虑使用 query,因为与其他选项相比,它可以提高性能。