python - 重组 Pandas 中的无关数据

标签 python pandas dataframe pivot

我有一个这样组织的数据框...

**Name** | **Mealtime** | **Food**  
John | 8:00 am | cereal  
John | 1:00 pm | salad  
John | 6:00 pm | pasta  
Sara | 8:00 am | yogurt  
Sara | 1:00 pm | panini  
Sara | 6:00 pm | steak  
Jake | 8:00 am | coffee  
Jake | 1:00 pm | burrito  
Jake | 6:00 pm | salad

我需要这样组织

____| 8:00 am | 1:00 pm | 6:00 pm  
John | cereal | salad | pasta  
Sara | yogurt | panini | steak  
Jake | coffee | burrito | salad

我该怎么做?请注意,我不是在寻找美学上的改变。最后,我想选择数据行以可以从特定食物条目中确定名称的方式提供给 for 循环。例如,捕获“下午 1:00”列后,“沙拉”会将我定向到约翰。但是,如果我捕获了“6:00 pm”列,“沙拉”会将我引向 Jake。

最佳答案

你需要df.pivot :

In [606]: df.pivot(index='Name', columns='Mealtime', values='Food')
Out[606]: 
Mealtime  1:00 pm 6:00 pm 8:00 am
Name                             
Jake      burrito   salad  coffee
John        salad   pasta  cereal
Sara       panini   steak  yogurt

关于python - 重组 Pandas 中的无关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45471562/

相关文章:

python - 保留LDA pca的csv特征标签

python - 计算时间戳与月份的差异

python - 在 Python 和 Pandas 中使用正则表达式分割、分解和整理数据的最佳方法

python - 使用循环和追加读取多个 Excel 文件

Python 错误处理 : finally vs. 新行缩进

python - 在 PDB 交互式 shell 中打印当前异常

ironpython - 如何在 PyCharm for IronPython 解释器中控制 "Updating skeletons"后台任务?

python - 在 pandas 中添加带条件的列计算

python - 将值列表转换为编码变量?

Python:如何在用分号分隔的 Pandas 数据框的列中查找值?