使用 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
,因为与其他选项相比,它可以提高性能。
我有一个可以在这个网站上找到的数据集: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
,因为与其他选项相比,它可以提高性能。