以下是对名为 df 的原始数据框(取自 csv)的快速说明:
- 列:姓名、年龄、性别、平均 sleep 时间、平均醒来时间
- 行:100 个样本
我尝试过的:
我需要打印一个新的数据框,仅选择女性,并打印她们的平均 sleep 时间和平均唤醒时间。
我设法通过多行代码实现此目的:
female = df[df['Gender'] == 'Female']
female.set_index("Name", inplace = True)
female[['average_sleep_time', 'average_wake_time']]
由于普通数据帧 df 没有索引,因此已完成索引。
运行上面的代码后运行最后一行代码成功打印了我的目标数据帧。现在我的问题是:我怎样才能只用一行代码来做同样的事情?
最佳答案
使用DataFrame.loc
与 DataFrame.set_index
没有 inplace=True
:
df.loc[df['Gender'] == 'Female', ['Name','average_sleep_time', 'average_wake_time']].set_index("Name")
关于python - 为 Pandas 数据框中满足条件的列打印特定列(代码有效,只需帮助将其减少为一行代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70348931/