Tôi có các khung dữ liệu khác nhau với các giá trị được tính toán trung bình. Thông thường, tôi nghĩ chúng nên giống nhau. Hoặc có sự khác biệt nào không:
daily1 = daily_above_zero['2011-2'].mean()
hàng ngày1
Ra [181]:
P_Sanyo_Gesloten 136.751724
P_Sanyo_Open 142.491701
dtype: float64
hoặc
daily2 = daily_above_zero['2011-2'].resample('m',how='mean')
hàng ngày2
Ra [187]:
P_Sanyo_Gesloten 136.751724
P_Sanyo_Open 142.491701
dtype: float64
Và điều này:
daily2 = daily_above_zero['2011-2'].resample('D',how='mean').mean()
hàng ngày2
Ra [185]:
P_Sanyo_Gesloten 132.178545
P_Sanyo_Open 137.536975
dtype: float64
Trong [11]: df = DataFrame(randn(100000,2),index=pd.date_range('20130101', Periods=100000,freq='T'),columns=list('AB'))
Trong [12]: df
Out[12]:
DatetimeIndex: 100000 mục, 2013-01-01 00:00:00 đến 2013-03-11 10:39:00
Tần số: T
Cột dữ liệu (tổng cộng 2 cột):
100000 giá trị không null
B 100000 giá trị không null
dtypes: float64(2)
Đây là tổng của tất cả các quan sát trong mỗi cột/100000
Trong [13]: df.mean()
Ra [13]:
A -0,001421
B -0,000764
dtype: float64
Đây là mức trung bình trên mỗi cột nhưng được nhóm theo tháng nên mỗi tháng có số lượng quan sát khác nhau
Trong [14]: df.resample('m',how='mean')
Ra [14]:
AB
31-01-2013 -0,004447 0,003479
28-02-2013 0,001062 -0,002656
31-03-2013 0,000903 -0,008289
Chỉ là giá trị trung bình của các số ở trên, giống như giá trị trung bình của các giá trị trung bình hàng tháng
Trong [15]: df.resample('m',how='mean').mean()
Ra [15]:
A -0,000827
B -0,002489
dtype: float64
Nhóm mỗi ngày và lấy trung bình
Trong [16]: df.resample('D',how='mean')
Ra [16]:
DatetimeIndex: 70 mục, 2013-01-01 00:00:00 đến 2013-03-11 00:00:00
Tần số: D
Cột dữ liệu (tổng cộng 2 cột):
70 giá trị không null
B 70 giá trị không null
dtypes: float64(2)
số ngày trung bình
Trong [17]: df.resample('D',how='mean').mean()
Ra [17]:
A -0,001005
B -0,001491
dtype: float64
Ví dụ: nếu tất cả các quan sát của bạn đều trong cùng một tháng thì (bạn đang ở phần 1 và 2 ở trên)
df.resample('M',how='mean') == df.mean()
Phần 3 cũng tương tự, giả sử bạn có đầy đủ các quan sát cho mỗi ngày. Nếu đây là trường hợp, nó không rõ ràng từ ví dụ của bạn.
Trong [19]: df['2013-2'].mean()
Ra [19]:
Một 0,001062
B -0,002656
dtype: float64
Trong [20]: df['2013-2'].resample('D',how='mean').mean()
Ra [20]:
Một 0,001062
B -0,002656
dtype: float64
Ý tôi là mỗi ngày, ví dụ của tôi mỗi ngày có 60*24 obs
Trong [21]: df['2013-2'].count()
Ra [21]:
Một 40320
B 40320
dtype: int64
Trong [22]: 24*60
Ra [22]: 1440
Ngày 28 tháng 2
Trong [23]: 24*60*28
Ra [23]: 40320
Tôi là một lập trình viên xuất sắc, rất giỏi!