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 解析器将该字符串更改为日期时间 - 可能有更简单的方法,但我没有'花了很多时间(双关语))
我有一些日期时间序列的压力、温度和湿度数据(即列:日期、时间、压力、温度、湿度)。我想设置一个函数,在特定日期和时间(输入)内给出这三个参数的平均值和标准差。到目前为止,我已经设法将数据导入到数据框中,并将变量 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 解析器将该字符串更改为日期时间 - 可能有更简单的方法,但我没有'花了很多时间(双关语))