【发布时间】:2021-02-21 15:23:27
【问题描述】:
我想提取具有特定列的最小值和最大值的所有行。
这是我的 df:
id time value
1 16:23:37.006155 406
2 16:23:37.320417 410
3 16:23:37.917598 415
4 16:23:51.049987 420
5 16:23:52.595148 425
6 16:27:13.880722 430
7 16:27:17.258117 435
8 16:28:31.529722 455
9 16:28:37.640527 460
10 16:28:47.782197 405
11 16:28:48.085 410
目标是创建另一个带有时间、值列的df:
- 保存第一个值
- 如果该值低于前一个值,则保存它和前一个值。
所以我尝试了这个:
df['BeforeDiff'] = df['value'] < df['value'].shift()
但我只有没有第一行的最小值。
换句话说,我想要每个序列的最小值和最大值,并用时间列做差异。结果必须是:
id time value
1 16:23:37.006155 406
9 16:28:37.640527 460
10 16:28:47.782197 405
感谢您的宝贵时间!
【问题讨论】:
-
你的表中只有第一个值还是第一个值不同(id=1重复)?
-
我有点不清楚你想要什么。您只是想要第一行、最大值行和最小值行吗?
-
时间是唯一的(正常的日期和时间,但我简化了示例)并且列值的值可以重复。这是一个重复的时间序列,我需要确定最小和最大状态(值)之间的时间来计算节奏。