DataFrame时间序列使用自己的日期时间数据进行索引

时间:2015-01-20 10:25:25

标签: python pandas time-series

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

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)

1 个答案:

答案 0 :(得分:0)

我建议您将日期和时间转换为日期时间,这样您的日期和时间列就会变成一列,然后将新的日期时间列设置为数据帧的索引,那么您应该能够根据您的时间间隔进行选择

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