【问题标题】:Sampling a datetime from lines for days and columns for hours从几天的行和几小时的列中采样日期时间
【发布时间】:2014-03-20 13:36:01
【问题描述】:

我有一个矩阵,其中行代表天,列代表小时。我正在寻找重新采样此数据以将日期时间作为索引。

DATES; H0;H1;H2;H3;... 01/01/2013;...;...;...;...;... 02/01/2013;...;...;...;...;...

当我使用 df.resample('H') 函数时,我得到以下结果。我现在想将列值与每天的小时数匹配以填充值。

2013-01-01 00:00:00 1.35882 2013-01-01 01:00:00 NaN 2013-01-01 02:00:00 NaN 2013-01-01 03:00:00 NaN 2013-01-01 04:00:00 NaN

有人知道如何进行吗?

谢谢亚历克西斯

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    感谢您的回答。 为了评估我的需求,我在堆栈之后做了以下操作。

    df1 = df.stack().reset_index()
    df1['DATES'] = df1.apply(lambda row: row['DAYS'] + \
        relativedelta(hours=int(row['level_1']) - 1), axis=1)
    df1 = df1.set_index('DATES')
    

    亚历克西斯

    【讨论】:

      【解决方案2】:

      假设 DATES 是您的索引,这应该可以工作

      df.stack()
      

      如果'DATES'不是你的索引,你可以这样设置

      df.set_index('DATES').stack()
      

      注意:这不会将时间格式设置为您的示例中的格式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        • 2020-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多