我需要计算每天发生的平均数据点数。但是我不知道如何在python中编写代码。以下数据是数据外观的示例。它是一个ndarray并使用熊猫datetime。我将获得的期望值为01-01每天有2个,01-02每天有1个,而01-03每天有2个。
temp time = array([ Timestamp('1979-01-01 11:21:59.904000'),
Timestamp('1979-01-01 19:59:00.096000'),
Timestamp('1979-01-02 07:54:59.904000'),
Timestamp('1979-01-03 01:03:00'),
Timestamp('1979-01-03 07:41:59.712000')]
答案 0 :(得分:0)
如果我理解的正确,那么您想使用pd.Grouper
,频率设置为'D'
。
例如:
time = np.array([pd.Timestamp('1979-01-01 11:21:59.904000'),
pd.Timestamp('1979-01-01 19:59:00.096000'),
pd.Timestamp('1979-01-02 07:54:59.904000'),
pd.Timestamp('1979-01-03 01:03:00'),
pd.Timestamp('1979-01-03 07:41:59.712000')])
df = pd.DataFrame({'time':time})
print( df.groupby(pd.Grouper(key='time', freq='D'))['time'].count() )
打印:
time
1979-01-01 2
1979-01-02 1
1979-01-03 2
Freq: D, Name: time, dtype: int64