为 Pandas 数据框中满足条件的列打印特定列(代码有效,只需要帮助将其减少到一行代码)

Printing specific columns for those that satisfy a condition in Pandas data frame (Code works, Just need help to reduce it to one line of code)

这里是对名为 df 的原始数据框的快速解释(取自 csv):

我尝试了什么:

我需要打印一个只选择女性的新数据框,并打印她们的平均睡眠时间和平均起床时间。

我设法实现了这将多行代码:

female = df[df['Gender'] == 'Female']
female.set_index("Name", inplace = True)
female[['average_sleep_time', 'average_wake_time']]

索引已完成,因为普通数据框 df 没有索引。

运行 运行 之后的最后一行代码成功打印了我的目标数据框。现在我的问题是:如何只用一行代码来做同样的事情?

使用 DataFrame.loc with DataFrame.set_index 而不使用 inplace=True:

df.loc[df['Gender'] == 'Female', ['Name','average_sleep_time', 'average_wake_time']].set_index("Name")