python pandas sortやfilterについて
pandas 集計処理のsort,filter操作について
↓フィルタ_日カラムで20以上の行を抽出。
sample[sample["日"]>=20].head()
index | ID | 日 | 時 | セッション | 閲覧時間 |
---|---|---|---|---|---|
0 | 328667572 | 31 | 16 | 38 | 5 |
1 | 70373573 | 24 | 23 | 37 | 7 |
5 | 302325623 | 20 | 8 | 22 | 2 |
12 | 1511512688 | 29 | 21 | 18 | 6 |
13 | 1842034778 | 28 | 19 | 18 | 6 |
↓【フィルタ】日カラムで20の行を抽出。
sample[sample["日"]==20].head()
index | ID | 日 | 時 | セッション |
---|---|---|---|---|
5 | 302325623 | 20 | 8 | 22 |
22 | 2034587212 | 20 | 23 | 16 |
60 | 737941086 | 20 | 1 | 13 |
156 | 1436667790 | 20 | 0 | 10 |
187 | 232403266 | 20 | 12 | 10 |
↓【フィルタ】全体平均以上のセッションのみを抽出。
sample[sample["セッション"]>=sample["セッション"].mean()].head()
ID | 日 | 時 | セッション | 閲覧時間 |
---|---|---|---|---|
328667572 | 31 | 16 | 38 | 5 |
70373573 | 24 | 23 | 37 | 7 |
1839656582 | 12 | 20 | 28 | 6 |
1471882803 | 10 | 22 | 22 | 7 |
302325623 | 20 | 8 | 22 | 2 |
↓【並べ替え】IDカラムを昇順で表示。
sample.sort_values(by="ID",ascending=True).head()
ID | 日 | 時 | セッション | 閲覧時間 |
---|---|---|---|---|
9460 | 14 | 15 | 1 | 4 |
9460 | 25 | 20 | 1 | 6 |
72625 | 15 | 21 | 1 | 6 |
72625 | 13 | 20 | 1 | 6 |
85657 | 13 | 14 | 1 | 4 |
↓【並べ替え】カラム日が20でカラム時を降順で表示。
sample[sample["日"]==20].sort_values(by="時",ascending=False).head()
ID | 日 | 時 | セッション | 閲覧時間 |
---|---|---|---|---|
698149150 | 20 | 23 | 1 | 7 |
1470678968 | 20 | 23 | 1 | 7 |
1978534706 | 20 | 23 | 1 | 7 |
561150499 | 20 | 23 | 1 | 7 |
1978434835 | 20 | 23 | 1 | 7 |
↓【フィルタ】1カラムの6or10をフィルタして抽出
sample.query("時==16 or 時==10")
ID | date | time | セッション | 重複 | 日 | 時 | count |
---|---|---|---|---|---|---|---|
0 | 328667572 | 20180331 | 2018-03-31 16:00:00 | 38 | True | 31 | 16 |
34 | 129117501 | 20180311 | 2018-03-11 10:00:00 | 14 | True | 11 | 10 |
58 | 570969895 | 20180323 | 2018-03-23 16:00:00 | 13 | True | 23 | 16 |
88 | 669719439 | 20180321 | 2018-03-21 10:00:00 | 12 | True | 21 | 10 |
147 | 1217010981 | 20180310 | 2018-03-10 16:00:00 | 10 | True | 10 | 16 |
↓【フィルタ】500以上且つ11月カラムのみをフィルタして抽出
ff2[(ff2["500以上"]=="500以上") & (ff2["月"]==11)]
↓【フィルタ】文字列時間帯を含むで除外フィルタ抽出
df1=df[~df["時間帯"].str.contains('時間帯')]