3通りの集計方法を提示しますので、お好みのものを試してみてください。
Python
1import pandas as pd
2import io
3
4data = '''
52, 5, 0, 6, 8, 1, 3
65, 9, 7, 9, 0, 2, 2
75, 9, 7, 9, 0, 2, 2
85, 9, 7, 9, 0, 2, 2
95, 9, 7, 9, 0, 2, 2
101, 6, 4, 3, 3, 2, 0
111, 6, 4, 3, 3, 2, 0
121, 6, 4, 3, 3, 2, 0
131, 6, 4, 3, 3, 2, 0
141, 6, 4, 3, 3, 2, 0
15'''
16
17df = pd.read_csv(io.StringIO(data), header=None)
18
19# 列ごとに値と数を集計する方法、例として第0列を示す
20sum_type1 = df[0].value_counts()
21print(sum_type1)
22#5 8
23#2 1
24#1 1
25#Name: 0, dtype: int64
26
27# 全ての列を対象に一気に値と数をカウント
28sum_type2 = df.apply(pd.value_counts).fillna(0).astype(int)
29print(sum_type2)
30# 対象となる数字(行ラベル)に対して、各列ごとの集計数を表にしている
31# 0 1 2 3 4 5 6
32#0 0 0 1 0 4 0 5
33#1 5 0 0 0 0 1 0
34#2 1 0 0 0 0 9 4
35#3 0 0 0 5 5 0 1
36#4 0 0 5 0 0 0 0
37#5 4 1 0 0 0 0 0
38#6 0 5 0 1 0 0 0
39#7 0 0 4 0 0 0 0
40#8 0 0 0 0 1 0 0
41#9 0 4 0 4 0 0 0
42
43# sub_type2の行ごとの集計を求める、すなわち元のDataFrame全体での集計となっている
44sum_type3 = sum_type2.sum(axis=1)
45print(sum_type3)
46#0 10
47#1 6
48#2 14
49#3 11
50#4 5
51#5 5
52#6 6
53#7 4
54#8 1
55#9 8
56
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/18 16:20