python-重采样熊猫列日期时间

(我认为)我有一个数据集,其中的列代表日期时间间隔

列在日期时间使用以下方式进行了转换:

    for col in df.columns:
        df.rename({col: pd.to_datetime(col, infer_datetime_format=True)}, inplace=True)

然后,我需要使用均值将列(年份和月份“ 2001-01”)重新采样为季度

我试过了

df = df.resample('1q', how='mean', axis=1)

DataFrame还具有一个多重索引集[‘RegionName’,’County’]

但是我得到了错误

Only valid with DatetimeIndex, timedeltaIndex or Periodindex, but got an instance of 'Index'

是to_datetime函数中的问题还是采样错误

解决方法:

(我认为)您正在重命名每个列标题,而不是使整个列对象成为DatetimeIndex

尝试以下方法

df.columns = pd.to_datetime(df.columns)

然后进行重新采样

注意:
我会在转换为DatetimeIndex之后用句点来做.这样,您可以在列标题中获得期间,而不是季度的结束日期.

df.groupby(df.columns.to_period('Q'), axis=1).mean()

演示

df = pd.DataFrame(np.arange(12).reshape(2, -1),
                  columns=['2011-01-31', '2011-02-28', '2011-03-31',
                           '2011-04-30', '2011-05-31', '2011-06-30'])

df.columns = pd.to_datetime(df.columns)

print(df.groupby(df.columns.to_period('Q'), axis=1).mean())

   2011Q1  2011Q2
0       1       4
1       7      10

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...