【发布时间】:2018-04-19 15:28:00
【问题描述】:
我有一个 csv 文件,看起来像这样
date mem
2018-03-09 13:27:05 23
2018-03-09 13:27:13 22
2018-03-09 13:54:34 21
2018-03-10 13:54:42 12
2018-03-10 16:18:34 34
2018-03-10 16:18:41 45
2018-03-12 22:40:36 45
2018-03-12 22:40:36 12
2018-03-14 22:40:44 35
2018-03-14 22:40:44 25
2018-03-15 23:12:36 26
2018-03-15 23:12:44 28
2018-03-15 23:22:34 12
2018-03-15 13:27:05 14
2018-03-16 13:27:13 54
2018-03-16 13:54:34 12
2018-03-16 13:54:42 56
2018-03-17 16:18:34 45
2018-03-18 16:18:41 76
2018-03-18 22:40:36 56
2018-03-18 22:40:44 23
2018-03-18 23:12:36 22
2018-03-18 23:12:44 24
2018-03-19 23:22:34 23
现在我想找出两个连续日期之间统计数据的百分比差异(平均值、最小值、最大值、标准差),并使用该值创建一个列。
现在我可以手动找到两个给定日期之间的百分比差异。下面是我的代码
df = pd.read_csv("metrics.csv", parse_dates=["date"])
df.set_index("date", inplace=True)
df_prev = df.loc['2018-03-09'].resample('D')['mem'].agg(['mean', 'min', 'max', 'std']).fillna(0)
df_next = df.loc['2018-03-10'].resample('D')['mem'].agg(['mean', 'min', 'max', 'std']).fillna(0)
df_diff_pt = abs(df_next - df_prev.values)/(df_prev.values) * 100
print(df_diff_pt)
如果给定日期没有前一个日期,我该如何以自动方式查找两个日期之间统计数据的百分比差异并跳过操作?例如2018-03-10 有一个前一个日期@987654324 @ 但2018-03-14 没有以前的日期,所以应该跳过它。但是2018-03-15 有以前的日期2018-03-14,所以它应该再次找到统计差异。
【问题讨论】:
标签: python-3.x pandas