在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python  網(wǎng)絡(luò)安全/ Pandas多次分組統(tǒng)計(jì)

Pandas多次分組統(tǒng)計(jì)

各位大佬,請教一個(gè)Pandas分組問題,個(gè)人感覺比較復(fù)雜。

df = pd.DataFrame({"Date":pd.date_range(start='2018-08-17 08:10:30',periods=15,freq='s',normalize=True),"Category":list('AAAAAAAAAAAABBB'),"ActionType":[1,3,2,1,4,5,3,1,3,4,5,2,1,3,2]})

首先按Category分類,類別里按Date時(shí)間排序,排序后按ActionType繼續(xù)分組統(tǒng)計(jì),ActionType的統(tǒng)計(jì)規(guī)則是,1為每個(gè)分組的開始,2為結(jié)束,但2不一定出現(xiàn),示例數(shù)據(jù)的結(jié)果應(yīng)該是Category分為兩組A,B,其中A里又有3組,B里有一組

請教應(yīng)該怎么實(shí)現(xiàn)或者有什么思路?

回答
編輯回答
遲月

python3

np.vsplit( df,np.where(df.ActionType==1)[0][1:])
2018年3月17日 13:34
編輯回答
不將就
df = pd.DataFrame({"Date":pd.date_range(start='2018-08-17 08:10:30',periods=15,freq='s',normalize=True),"Category":list('AAAAAAAAAAAABBB'),"ActionType":[1,3,2,1,4,5,3,1,3,4,5,2,1,3,2]})
split = []
for idx,(ctg,act) in enumerate(zip(df.Category,df.ActionType)):
    if act == 1:
        split.append(idx)
        print(idx,ctg,act)
split.append(len(df.Category))
for i in range(len(split)-1):
    print(df.Date[split[i]:split[i+1]])

結(jié)果:
0 A 1
3 A 1
7 A 1
12 B 1
0 2018-08-17 00:00:00
1 2018-08-17 00:00:01
2 2018-08-17 00:00:02
Name: Date, dtype: datetime64[ns]
3 2018-08-17 00:00:03
4 2018-08-17 00:00:04
5 2018-08-17 00:00:05
6 2018-08-17 00:00:06
Name: Date, dtype: datetime64[ns]
7 2018-08-17 00:00:07
8 2018-08-17 00:00:08
9 2018-08-17 00:00:09
10 2018-08-17 00:00:10
11 2018-08-17 00:00:11
Name: Date, dtype: datetime64[ns]
12 2018-08-17 00:00:12
13 2018-08-17 00:00:13
14 2018-08-17 00:00:14
Name: Date, dtype: datetime64[ns]

2017年7月6日 23:34