DataFrame 时间序列索引与自己的日期时间数据

DataFrame timeseries indexing with own date-time data

我有一些日期时间序列的压力、温度和湿度数据(即列:日期、时间、压力、温度、湿度)。我想设置一个函数,在特定日期和时间(输入)内给出这三个参数的平均值和标准差。到目前为止,我已经设法将数据导入到数据框中,并将变量 temp、press 和 humid 定义为数据框中的列。我很难弄清楚如何将日期时间(输入)连接到其他三个数据列。有任何想法吗?我已经通读了 pandas 文档,它让我很困惑……因为它总是创建自己的时间-日期列系列。 =/

import pandas as pd

import numpy as np

def TempPressHumid(time_start, time_end, date_start, date_end, df1):

    temp = df1[date_start:date_end]
    temp = df1.between_time(time_start,time_end)

    out = {'temp_avg':np.mean(temp['temp']),
    'temp_std':np.std(temp['temp']),
    'press_avg':np.mean(temp['press']),
    'press_std':np.std(temp['press']),
    'humid_avg':np.mean(temp['humid']),
    'humid_std':np.std(temp['humid'])}
    print out

df = pd.DataFrame.from_csv('TM4CVC.csv')

df1 = pd.DataFrame({'temp': df['Ch2_Value'],
    'press':df['Ch3_Value'],
    'humid':df['Ch1_Value']})
    # want to add my time and date index here? 


TempPressHumid(time_start = '08:29:19', time_end = '08:29:19', 
               date_start = '2012-06-25', date_end = '2012-06-025', df1 = df1)

我建议将您的日期和时间转换为日期时间,这样您的日期和时间列就变成一列,然后将新的日期时间列设置为数据框的索引,然后您应该能够根据你的间隔。

(就在我的脑海中,您可以将日期和时间列连接成一个字符串,然后使用 dateutils 解析器将该字符串更改为日期时间 - 可能有更简单的方法,但我没有'花了很多时间(双关语))