python - 如何使用 df.resample 更改周开始日期?

标签 python pandas datetime

我正在使用 Python 3.6,这是我的代码:

trainFile = r'C:\download\combine\Combine_1.csv'
pwd = os.getcwd()
os.chdir(os.path.dirname(trainFile))
df = pd.read_csv(os.path.basename(trainFile))
os.chdir(pwd)

df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
week = df.resample('w').mean()

week.to_csv('week_combine.csv')

我想把每天的数据变成每周的数据,但是现在一周是从每个星期天开始的,我怎样才能把它变成每周一呢?

例如,现在的结果是这样的:

...
2017-09-10
2017-09-17
2017-09-24
...

但我想把它改成:

...
2017-09-11
2017-09-18
2017-09-25
...

有什么想法吗?

最佳答案

需要 W-MON anchored offset :

rng = pd.date_range('2017-09-09', periods=15)
df = pd.DataFrame({'a': range(15)}, index=rng)  


week = df.resample('W-MON').mean()
print (week)
             a
2017-09-11   1
2017-09-18   6
2017-09-25  12

关于python - 如何使用 df.resample 更改周开始日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47457312/

相关文章:

python - 使用实际值创建虚拟列

python - 如何在 Bokeh 中的 GMapPlot 上绘制数据着色器图像?

python - 如何停止在 csv 文件末尾写一个空行 - pandas

mysql - 处理数据库中不同的日期时间格式?

mysql - 如何在 MySQL 中减去天数

python - HTTP POST 请求需要多次传输?

python - 使用索引查找带连字符的单词

python - 计算数据框每一列中的非nan条目的数量

python - 如何将 pandas isin 用于多列

python - 在 Python/Pandas 中确定一天是否是工作日