I find the following counter-intuitive:
>>> per = pd.Period('2016')
>>> per
Period('2016', 'A-DEC')
>>> (per.month, per.day, per.hour)
(12, 31, 0)
Since this Period represents the span from Jan1-Dec 31, it seems that month, day, hour, etc are not meaningful, should be NaN.