データフレームのカラムのcol1にa,bを交互に振っていき
それをaとbのグループ分けにgroupby()を使用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import pandas as pd import datetime df = pd.DataFrame({'dt1': [datetime.datetime(2014, 10, 1), datetime.datetime(2014, 10, 2), datetime.datetime(2014, 10, 3), datetime.datetime(2014, 10, 4), datetime.datetime(2014, 10, 5), datetime.datetime(2014, 10, 6), datetime.datetime(2014, 10, 7), datetime.datetime(2014, 11, 1), datetime.datetime(2014, 11, 2), datetime.datetime(2014, 11, 3), datetime.datetime(2014, 11, 4), datetime.datetime(2014, 11, 5), datetime.datetime(2014, 11, 6), datetime.datetime(2014, 11, 7)], 'col1': 'a b'.split() * 7}) print(df) x = df.groupby('col1').groups print(x) print (len((x["b"]))) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
col1 dt1 0 a 2014-10-01 1 b 2014-10-02 2 a 2014-10-03 3 b 2014-10-04 4 a 2014-10-05 5 b 2014-10-06 6 a 2014-10-07 7 b 2014-11-01 8 a 2014-11-02 9 b 2014-11-03 10 a 2014-11-04 11 b 2014-11-05 12 a 2014-11-06 13 b 2014-11-07 {'b': Int64Index([1, 3, 5, 7, 9, 11, 13], dtype='int64'), 'a': Int64Index([0, 2, 4, 6, 8, 10, 12], dtype='int64')} 7 |
x = df.groupby(‘col1’).groups
でcol1をベースとしたグループ分けされたリストを渡し、
print (len(x[“b”])
bにグループ分けされたものの個数だけ表示
コメントを残す