首先非常感谢那些帮助的人,当人们可以提供帮助时学习很有趣。
我没有切片并选择关闭,我有一个
的数据框<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
我想创建这些数据的各种切片。
首先是每月整体,接下来是每个单位每月整体,然后是本月,过去三个月和过去6个月的个人
到目前为止的代码
Unit Name Count Month Year
2013-01-01 U1 fn ln 2 01 2013
2013-01-01 U1 fn1 ln1 200 01 2013
2013-02-01 U2 fn2 ln2 55 01 2013
...
2016-01-01 U1 fn3 ln3 2 01 2016
2016-01-01 U1 fn1 ln1 200 01 2016
2016-01-01 U2 fn5 ln5 55 01 2016
我认为问题是groupby删除了重复,但我不明白如何创建给我个人的视图。
答案 0 :(得分:1)
您可以按to_period
将索引转换为periodindex
,并按unique
查找过去3个月:
print df
Unit Name Count Month Year
2013-01-01 U1 fn ln 2 1 2013
2013-02-01 U1 fn ln 2 2 2013
2013-02-01 U1 fn1 ln1 200 2 2013
2013-03-01 U2 fn2 ln2 55 3 2013
2013-04-01 U2 fn2 ln2 55 4 2013
2013-05-01 U2 fn2 ln2 55 5 2013
2016-01-01 U1 fn3 ln3 2 1 2016
2016-01-01 U1 fn1 ln1 200 1 2016
2016-01-01 U2 fn5 ln5 55 1 2016
#convert index to Periodindex
print df.index.to_period('M')
PeriodIndex(['2013-01', '2013-02', '2013-02', '2013-03', '2013-04', '2013-05',
'2016-01', '2016-01', '2016-01'],
dtype='int64', freq='M')
#last 3 unique values
print df.index.to_period('M').unique()[-3:]
PeriodIndex(['2013-04', '2013-05', '2016-01'], dtype='int64', freq='M')
print df.index.to_period('M').isin(df.index.to_period('M').unique()[-3:])
[False False False False True True True True True]
#last 3 months
print df.loc[df.index.to_period('M').isin(df.index.to_period('M').unique()[-3:])]
Unit Name Count Month Year
2013-04-01 U2 fn2 ln2 55 4 2013
2013-05-01 U2 fn2 ln2 55 5 2013
2016-01-01 U1 fn3 ln3 2 1 2016
2016-01-01 U1 fn1 ln1 200 1 2016
2016-01-01 U2 fn5 ln5 55 1 2016