python - 将时间点列变成间隔
问题描述
我有一个存储时间点数据的小标题:
data.frame(Time = c(0, 1, 2, 3, 4), readings = c(123, 234, 145, 234, 121))
我想把它变成如下表格:
从 | 至 | 最初的 | 结尾 |
---|---|---|---|
0 | 1 | 123 | 234 |
1 | 2 | 234 | 145 |
2 | 3 | 145 | 234 |
3 | 4 | 234 | 121 |
... | ... | ... | ... |
我更喜欢在 R/tidyverse 中完成它,但如果 python 可以用更简单的方式完成它,我也可以采用一些 python 代码。谢谢!
解决方案
我们可以base R
通过删除数据集的最后一行和第一行并重命名列来做到这一点
setNames(cbind(df1[-nrow(df1), ], df1[-1, ]),
c("From", "Initial", "To", "End"))[c(1, 3, 2, 4)]
From To Initial End
1 0 1 123 234
2 1 2 234 145
3 2 3 145 234
4 3 4 234 121
推荐阅读
- c - 按钮在 Windows GUI 应用程序上看起来很丑(而不是 Windows 本机)
- pgadmin-4 - pgAdmin 4 打开但单击服务器不会显示任何内容(甚至没有错误)
- python - 如何使用python从JSON文件中删除空{}
- c# - 从抓取的链接下载所有 PDF 文件
- android - Asynctask 下载并设置 Jpg 为 imageView
- php - Laravel - 即使我没有创建该列,它也在寻找“deleted_at”列
- typescript - 为什么 TypeScript 类型保护“in”不将类型缩小到 keyof 类型?
- python - 使用 pygame-change 播放音频时,python 不能中断 while 循环
- jquery - 获取jQueryUI的datepicker中范围之间的天数
- android - ConstraintLayout 与 RelativeLayout 性能 2020