after #6380, ability to pretty easily move ops over to the mix-in
- [x] date/time (added in #6380)
- [ ] more periods ops? #5202
- [x] additional field accessor (is_beg_year), #4823
- [x] validate argmin/max, (PR #7904)
- [x] StringMethods, e.g. str for Index (not for sub-classes though), #9068
(this turns out to be quite tricky, as sometimes construction depends on the existence of a tz attribute)
- [ ] freq,frestr,inferred_freq
- [x] is_monotonic #13336
- [x] pd.infer_freq(), related #6407,#6408
- [ ] is_unique,lexsort_depth,nlevels
- [x] nunique(),unique(),value_counts(), #6734
- [x] factorize() #7090
- [ ] get_loc/find #4616
- [ ] __invert__ #8875
These are related in that they are generic.py functions as they have to compute something then set the axis with the result.
- [ ] normalize #5502
- [ ] tz_convert/tz_localize (though this requires a bit of wrapping as they have an axis parm,
but should be possible), see also here: https://github.com/pydata/pandas/pull/7915 (currently implemented only on DatetimeIndex, PeriodIndex has these as not implemented (and delegating from NDFrame is in core/generic)
- [x] duplicated/drop_duplicates #4060, (PR #7979)
- [ ] has_duplicates #9077
Comment From: jreback
these are mostly done / shared already. @jbrockmendel if anything looks interesting can open a specific issue.