为 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):
- 列:姓名、年龄、性别、平均睡眠时间、平均起床时间
- 行:100 个样本
我尝试了什么:
我需要打印一个只选择女性的新数据框,并打印她们的平均睡眠时间和平均起床时间。
我设法实现了这将多行代码:
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")
这里是对名为 df 的原始数据框的快速解释(取自 csv):
- 列:姓名、年龄、性别、平均睡眠时间、平均起床时间
- 行:100 个样本
我尝试了什么:
我需要打印一个只选择女性的新数据框,并打印她们的平均睡眠时间和平均起床时间。
我设法实现了这将多行代码:
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")