我正在使用pandas来处理有一些缺失价值的月度数据。我希望能够使用重新采样方法来计算年度统计数据,但多年来没有丢失数据。
以下是一些代码和输出来演示:
import pandas as pd
import numpy as np
dates = pd.date_range(start = '1980-01', periods = 24,freq='M')
df = pd.DataFrame( [np.nan] * 10 + range(14), index = dates)
如果我重新采样,这是我获得的:
In [18]: df.resample('A')
Out[18]:
0
1980-12-31 0.5
1981-12-31 7.5
我希望1980-12-31指数有一个np.nan,因为那一年没有每个月的月度值。我试着玩'怎么'的论点,但没有运气。
我该如何做到这一点?
答案 0 :(得分:2)
我确信有更好的方法,但在这种情况下你可以使用:
df.resample('A', how=[np.mean, pd.Series.count, len])
然后删除count != len