【发布时间】:2020-10-28 06:27:19
【问题描述】:
在将 CSV 读入数据框后,我尝试将“值”列重新采样为 5 秒,从时间值的第一个舍入秒开始。我想在接下来的 5 秒内获得所有值的平均值,从 46:19.6 开始(格式 %M:%S:%f)。所以代码会给我 46:20 的平均值,然后是 46:25,依此类推......有人知道怎么做吗?谢谢!
输入:
df = pd.DataFrame({'Time': {0: '46:19.6',
1: '46:20.7',
2: '46:21.8',
3: '46:22.9',
4: '46:24.0',
5: '46:25.1',
6: '46:26.2',
7: '46:27.6',
8: '46:28.7',
9: '46:29.8',
10: '46:30.9',
11: '46:32.0',
12: '46:33.2',
13: '46:34.3',
14: '46:35.3',
15: '46:36.5',
16: '46:38.8',
17: '46:40.0'},
'Value': {0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 8,
8: 9,
9: 10,
10: 11,
11: 12,
12: 13,
13: 14,
14: 15,
15: 17,
16: 19,
17: 20}})
【问题讨论】:
-
如果您使用
df.info()或(其中df是您的数据框的名称),您的时间列采用什么格式?Timedelta、DateTime或object -
RangeIndex:18 个条目,0 到 17 @DavidErickson
-
你必须往下看才能找到列。
-
顺便@CharlesWagner,对于以后的问题,请提供输入数据和预期输出数据。您可以从 excel 中复制数据,然后运行以下代码
pd.read_clipboard().to_dict(),然后按 StackOverFlow 上的 {} Code Sample 按钮并将字典数据粘贴到您的问题中。
标签: python python-3.x pandas pandas-groupby resampling