python - 在 Python/R/PowerBI 中将多个日期行转换为列?
问题描述
我有一个数据集,其中包含 100 万个特定订单的值。问题在于,由于每个订单在行中有多个日期,因此值是重复的。我想连续显示一个订单的所有更改日期,而不是显示多行。
我尝试在 Python 中使用 pivovt 并在 PowerBI 中使用 Pivot。PowerBI 中的数据透视确实将日期转换为列(但作为标题)。它也不会删除重复项。取而代之的是,它将每列显示为 0 作为行。
我想要这样的东西: 链接
解决方案
R 这里是方法。
library(tidyverse)
df1 = df %>% select(-Delivery_Date) %>%
group_by(GR_Key) %>%
mutate(GroupOrder = seq(n())) %>% # Create row order
spread(GroupOrder, Customer_Need_Date, sep="_")
df2 = df %>% select(-Customer_Need_Date) %>%
group_by(GR_Key) %>%
mutate(GroupOrder = seq(n())) %>%
spread(GroupOrder, Delivery_Date, sep="_")
df_final = df1 %>%
left_join(df2, by="GR_Key")
现在这应该可以满足您的需求
推荐阅读
- google-chrome - 我在哪里可以下载适用于 Mac 的 Google Chrome 67.0.3396.79?
- javascript - Codeigniter 通知系统 URL 结构
- angular - 更新 angular2-chartjs 中的图表数据
- python - 循环生成和执行命令不起作用
- ios - RxSwift 从一个创建多个 Observable
- ruby - NoMethodError:Lexicon:Class 的未定义方法“扫描”
- javascript - Material Design Lite - JS 不应用事件监听器
- javascript - 登录后反应重定向不起作用
- docker - 部署后,一个 Rancher 负载均衡的 RESTful 应用实例返回 404,而其他返回结果
- php - 使用 PHP 和 MySQL 更新记录中的 BLOB