我有一个熊猫数据框,看起来像下面的issue
数据框:
import pandas as pd
import datetime
Y = 2017
M = 9
dats = (datetime.datetime(Y, M, M, 15, 30), datetime.datetime(Y, M, M, 16),
datetime.datetime(Y, M, M, 16, 30), datetime.datetime(Y, M, M, 17),
datetime.datetime(Y, M, M, 17, 4), datetime.datetime(Y, M, M, 17, 30),
datetime.datetime(Y, M, M, 18), datetime.datetime(Y, M, M, 18, 30))
issue = {'datetime': dats,
'5.0':(2.05, 2.04, 2.04 ,1, float('NaN'), 2.05, 2.04, 5),
'6.0':(5.8, 5.9, 5.2, float('NaN'), 6, 6.01, 5, 5.02)}
issue = pd.DataFrame.from_dict(issue)
我想将这个数据框中的数据汇总为只包含半小时点,并取半小时内发生的任何值的平均值(不包括nan
值)。因此,最终目标是创建一个类似于下面创建的resolution
数据帧的数据帧:
import pandas as pd
import datetime
Y = 2017
M = 9
dats2 = (datetime.datetime(Y, M, M, 15, 30), datetime.datetime(Y, M, M, 16),
datetime.datetime(Y, M, M, 16, 30), datetime.datetime(Y, M, M, 17),
datetime.datetime(Y, M, M, 17, 30), datetime.datetime(Y, M, M, 18),
datetime.datetime(Y, M, M, 18, 30))
resolution = {'datetime': dats2,
'5.0':(2.05, 2.04, 2.04 ,1, 2.05, 2.04, 5),
'6.0':(5.8, 5.9, 5.2, 6, 6.01, 5, 5.02)}
resolution = pd.DataFrame.from_dict(resolution)
我可以很容易地在R中使用dplyr
来实现这一点,但是在Python中,我仍然是一个不速之客。提前感谢您对此事的一切帮助!你知道吗
比R还要短
相关问题 更多 >
编程相关推荐