pythonの中でpandsは複数列をグループ化して統計する実現を行います。
groupby(').size()を使って集計した結果、同じ値のフィールド値が表示されなくなります。
上の図に示すように、最初の行は982499 7 3388 1である。この行は前の行のこの2つのフィールド値と同じであるため、表示されない。第二の空いている行は390192 22 4278 1です。前の行の最初のフィールド値と同じなので、表示されません。このような展示方式はより直感的ですが、使ったばかりの人には、価値がないと思われてしまうかもしれません。
まだ分からないなら、下の全部のデータと操作を見てもいいです。
cate
shopid。
count
1.20000 e+01
12.000000
12.000000
メン
6.468688 e+05
10.6667
3594.00
std
3.98818 e+05
6.665151
373.27775
min
2.421410 e+05
7.000000
3388.00
25%
3.901920 e+05
7.000000
3388.00
50%
4.938730 e+05
7.000000
3388.00
75%
9.824990 e+05
10.25000
3586.250000
max
1.58165 e+06
23.00
4278.00
cate
shopid。
0
390192
20
4178
1
390192
23
4179
2
390192
22
4278
3
1021819
7
3388
4
242141
7
3388
5
283284
7
3388
6
15558
7
3388
7
533696
7
3388
8
982499
7
3388
9
493873
7
3388
10
493873
7
3388
11
982499
7
3389
上の図に示すように、最初の行は982499 7 3388 1である。この行は前の行のこの2つのフィールド値と同じであるため、表示されない。第二の空いている行は390192 22 4278 1です。前の行の最初のフィールド値と同じなので、表示されません。このような展示方式はより直感的ですが、使ったばかりの人には、価値がないと思われてしまうかもしれません。
まだ分からないなら、下の全部のデータと操作を見てもいいです。
import pandas as pd
res6 = pd.read_csv('test.csv')
res6.shape
(12, 3)
res6.columns
Index(['user_id', 'cate', 'shop_id'], dtype='object')
res6.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 12 entries, 0 to 11
Data columns (total 3 columns):
user_id 12 non-null int64
cate 12 non-null int64
shop_id 12 non-null int64
dtypes: int64(3)
memory usage: 368.0 bytes
res6.describe()
アメリカ.id。cate
shopid。
count
1.20000 e+01
12.000000
12.000000
メン
6.468688 e+05
10.6667
3594.00
std
3.98818 e+05
6.665151
373.27775
min
2.421410 e+05
7.000000
3388.00
25%
3.901920 e+05
7.000000
3388.00
50%
4.938730 e+05
7.000000
3388.00
75%
9.824990 e+05
10.25000
3586.250000
max
1.58165 e+06
23.00
4278.00
res6
アメリカ.id。cate
shopid。
0
390192
20
4178
1
390192
23
4179
2
390192
22
4278
3
1021819
7
3388
4
242141
7
3388
5
283284
7
3388
6
15558
7
3388
7
533696
7
3388
8
982499
7
3388
9
493873
7
3388
10
493873
7
3388
11
982499
7
3389
res6['user_id'].value_counts()
390192 3
982499 2
493873 2
242141 1
1021819 1
533696 1
1558165 1
283284 1
Name: user_id, dtype: int64
res6.groupby(['user_id']).size().sort_values(ascending=False)
user_id
390192 3
982499 2
493873 2
1558165 1
1021819 1
533696 1
283284 1
242141 1
dtype: int64
res6.groupby(['user_id', 'cate']).size().sort_values(ascending=False)
user_id cate
982499 7 2
493873 7 2
1558165 7 1
1021819 7 1
533696 7 1
390192 23 1
22 1
20 1
283284 7 1
242141 7 1
dtype: int64
res6_test = res6.groupby(['user_id', 'cate', 'shop_id']).size().sort_values(ascending=False)
res6_test
user_id cate shop_id
493873 7 3388 2
1558165 7 3388 1
1021819 7 3388 1
982499 7 3389 1
3388 1
533696 7 3388 1
390192 23 4179 1
22 4278 1
20 4178 1
283284 7 3388 1
242141 7 3388 1
dtype: int64
ここでは、python中のpandsが複数の列をグループ化した統計の実現に関する記事を紹介します。これに関連して、pandsの複数のグループの統計内容は以前の記事を検索したり、下記の関連記事を引き続き閲覧したりしてください。これからもよろしくお願いします。