Я использую Python и Pandas для анализа серии данных. Мой DF выглядит так:Недостающие значения во временных рядах
ActivePowerkW WindSpeedms WindSpeedmsstd
time
2015-05-26 11:40:00 836.6328 8.234862 1.414558
2015-05-26 11:50:00 968.5992 8.761620 1.572579
2015-05-26 12:30:00 614.0503 7.267871 1.575504
2015-05-26 13:50:00 945.5604 8.709115 1.527079
2015-05-26 14:00:00 926.6531 8.538967 1.589221
2015-05-26 14:30:00 666.7984 7.590645 1.324495
2015-05-26 14:40:00 911.0134 8.466603 1.708189
2015-05-26 15:10:00 1256.1740 9.868224 1.636775
2015-05-26 15:30:00 1706.7070 11.225540 1.576277
Нулевые значения опущены. Я хотел бы подсчитать все нулевые значения в процентах ежемесячно.
Я думал, что самый простой способ будет создавать новые временные ряды
timeseries_comp = pd.date_range(df.index[0], df.index[df_length], freq='10min')
, а затем совместите это с моей ФР
dif = df.align(timeseries_comp)
, а затем просто сосчитать NAN. Это не работает. Выровнять ошибку unsupported type
.
То, что я, наконец, после того, как что-то вроде следующего
Любые идеи?
Вы пробовали переиндексации? поэтому 'df.reindex (timeseries_comp)' – EdChum
Спасибо. reindex делает именно то, что я хочу. Теперь мне нужно рассчитывать ежемесячно. Я попробовал 'Avail_Count = df.resample ('M', how = {df.count(): 'count'})' и, похоже, работает, но я не о результатах. – ardms
Вы должны иметь возможность делать df.reindex (timeseries_comp) .groupby ([df.index.year, df.index.month]). Value_counts (drop_na = False) 'это должно дать вам все уникальные значения, включая' NaN' , или, может быть, 'df.reindex (timeseries_comp) .groupby ([df.index.year, df.index.month]). apply (pd.Series.isnull) .sum()' – EdChum