首页 > 解决方案 > Pandas 中的重采样(AttributeError:'DataFrame' 对象没有属性'Day')

问题描述

我想在 Pandas/Python 中重新采样日期。

我使用这段代码:

import pandas as pd 
costs = pd.read_csv (r'/Users/erikvanderveen/Downloads/resampling.csv', skiprows=2, thousands=',').set_index('Day')
pd.set_option('display.width', 1000)
costs.head(5)

在索引列(天)中,我看到:

2020-08-01

当我使用此代码时:

monthly_resampled_data = costs.Day.resample('M').mean()

这是结果:

AttributeError:“DataFrame”对象没有属性“Day”

我能做些什么来解决这个问题?

标签: pandasresampling

解决方案


这是因为 Pandas 在该列上设置了索引,所以它不是数据框中的列,它只是一个索引。

尝试更改此行

costs = pd.read_csv(r'/Users/erikvanderveen/Downloads/resampling.csv',
skiprows=2, thousands=',').set_index('Day')

到这一行:

costs = pd.read_csv(r'/Users/erikvanderveen/Downloads/resampling.csv',
skiprows=2, thousands=',')

然后执行其余的。请让我知道这是否有效。


推荐阅读