[英]Pandas Groupby Return Average BUT! exclude NaN
因此,我試圖利用pandas groupby函數並減少我擁有的大數據框。 這是一個例子:
A B
2016-09-23 19:36:08+00:00 NaN 34.0
2016-09-23 19:36:11+00:00 NaN 33.0
2016-09-23 19:36:12+00:00 24.1 NaN
2016-09-23 19:36:14+00:00 NaN 34.0
2016-09-23 19:36:17+00:00 NaN 34.0
2016-09-23 19:36:20+00:00 NaN 34.0
2016-09-23 19:36:22+00:00 24.2 NaN
2016-09-23 19:36:23+00:00 NaN 34.0
2016-09-23 19:36:26+00:00 NaN 34.0
2016-09-23 19:36:29+00:00 NaN 34.0
2016-09-23 19:36:32+00:00 24.1 NaN
2016-09-23 19:36:33+00:00 NaN 34.0
2016-09-23 19:37:00+00:00 NaN 34.0
2016-09-23 19:37:02+00:00 24.1 NaN
因此,我有兩個數據系列“ A”和“ B”,它們以不同的采樣率作為原始數據幀的索引以不同的速率采樣。
我現在想按日期/小時/分鍾對數據框的行進行分組,並返回每分鍾數據的平均值。 在此,平均值應忽略數據幀中的缺失值。
因此,例如,我將返回以下內容:
A B
2016-09-23 19:36:00+00:00 24 34.0
2016-09-23 19:37:00+00:00 24.1 33.0
是否可以使用內置的熊貓函數來做到這一點?
我認為您需要使用Resampler.mean
resample
Resampler.mean
,該Resampler.mean
將計算組的平均值,不包括缺失值:
print (df.resample('1Min').mean())
A B
2016-09-23 19:36:00 24.133333 33.888889
2016-09-23 19:37:00 24.100000 34.000000
groupby
另一種解決方案:
print (df.groupby([pd.TimeGrouper('1Min')]).mean())
A B
2016-09-23 19:36:00 24.133333 33.888889
2016-09-23 19:37:00 24.100000 34.000000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.