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

标签 python pandas dataframe indexing spyder

以下是对名为 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.locDataFrame.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/

相关文章:

python - 使用 Python 通过 ssh 将文件 cat 到远程 bash 脚本

python - 我可以从excel中获取表格并在python中绘制直方图吗?

python - Pandas 0.23 groupby 和 pct 更改未返回预期值

python - Pandas DataFrame - 计算每行中的 0

python - 保留列名的最后 2 个元素,用管道分隔 python pandas

python - 如果在另一个数据框中找到列值,则从数据框中删除一行

python - 为什么静态绑定(bind)对类和函数的作用不同?

python - 一个月的一周 Pandas

Python:根据负载、时间等监控和终止/节流生成的进程

python - 将数据帧 'df1' 的字符串列与数据帧 'df2' 的另一个字符串列进行比较,在此基础上比较其他列