python - 如何在 Python 3.6 中将日期划分为周并创建新列表?

标签 python

我有两个数据列表,一个是日期和平均值,另一个是索引和另一个值,它们看起来像:

#list 1: (in total 62 raws)
date      d_mean
2017-3-1  15.3
2017-3-2  16.9
2017-3-3  18.2
...
2017-4-30 17.7
2017-5-1  15.6

#list2: (in total 10 raws)
     sum
121  555
122  784
123  546
...
142  568
143  658
144  847

我想要:

  1. 将日期按周分组
  2. 计算每周的平均值并创建一个包含“week”列和“w_mean”列的新列表
  3. 使这两个列表大小相同,然后将它们相互绘制

我尝试使用

    chunks = [avg_T1[x:x+7] for x in range(4, len(avg_T1), 7)]

但这只是划分了列表,我尝试添加

    .mean()

最终,并没有真正起作用。

我是 Python 新手,我也很高兴听到是否有任何我需要阅读或练习的必要 Material 来帮助我习惯使用 Python。

最佳答案

我不确定我完全理解你的问题,但第一部分的答案应该是

df = df.set_index('date')
df['w_mean'] = df.resample('w').d_mean.mean(). 

这是数据帧每周的平均值(我认为您称之为列表)。

我不知道如何使两个列表具有相同的长度,因为它们在同一时间段内处于不同的频率。

您将拥有一列('w_mean'),该列每 7 天有一个值,其他地方都有 nan。

你可以做df.interpolate().plot()是我能想到的最接近的事情......

关于python - 如何在 Python 3.6 中将日期划分为周并创建新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830478/

相关文章:

python - 检查 QuerySet 中是否存在对象

python3 类型错误 : 'bytes' object is not callable

python - 我可以在不复制数据的情况下组合 NumPy 数组中的非相邻维度吗?

python - 我应该在使用功能后返回吗?

python - 根据相邻值替换二维数组中的值

python - 我如何使用 pd.concat' 一次连接所有列而不是多次调用 `frame.insert` ?

python - 搜索后端错误 : No fields were found in any search_indexes

Python 将时间戳转换为日期

python - 如何使用 apply 来实现这个功能

python - 使用 Python API 库在 Google AppEngine 上 strip 化支付