python - 如何在多列的熊猫中透视表?
问题描述
+----+----------------+----------+---------------------+
| id | characteristic | location | value |
+----+----------------+----------+---------------------+
| 1 | start | loc1 | 01/01/2020 00:00:00 |
+----+----------------+----------+---------------------+
| 1 | end | loc1 | 01/01/2020 00:00:20 |
+----+----------------+----------+---------------------+
| 1 | start | loc2 | 01/01/2020 00:00:20 |
+----+----------------+----------+---------------------+
| 1 | end | loc2 | 01/01/2020 00:00:40 |
+----+----------------+----------+---------------------+
| 2 | start | loc1 | 01/01/2020 00:00:40 |
+----+----------------+----------+---------------------+
| 2 | end | loc1 | 01/01/2020 00:01:00 |
+----+----------------+----------+---------------------+
我有上表,我想将其转换为如下所示
+----+---------------------+---------------------+----------+
| id | start | end | location |
+----+---------------------+---------------------+----------+
| 1 | 01/01/2020 00:00:00 | 01/01/2020 00:00:20 | loc1 |
+----+---------------------+---------------------+----------+
| 1 | 01/01/2020 00:00:20 | 01/01/2020 00:00:40 | loc2 |
+----+---------------------+---------------------+----------+
| 2 | 01/01/2020 00:00:40 | 01/01/2020 00:01:00 | loc1 |
+----+---------------------+---------------------+----------+
请告知您将如何解决此问题。谢谢!!!
解决方案
您可以使用pivot_table
熊猫的功能。
pd.pivot_table(df, values='value', index =['id', 'location'] ,columns=['characteristic'], aggfunc='first')
推荐阅读
- javascript - 如何使用 Jquery 搜索带有 javascript 运算符符号的表单列?
- python - 表格不显示
- c++ - 正确的全局变量定义/声明
- android - Android Firebase - 如何显示来自 firebase 的用户信息。用户显示在数组中,然后希望信息显示在另一个活动中
- pytorch - 如果在 Colab 中更改 FC 层,则 Pytorch Resnet 模型错误
- c++ - 将值 -pi 约束为 pi 以获得精度增益
- python - AttributeError:“AxesSubplot”对象没有属性“get_xtickabels”
- c++ - 访问 std::string 数组的元素
- nlp - 如何在 TPU(Pytorch)上收集预测结果?
- bash - 如何制作本地 .command 终端脚本?