回答編集履歴
2
サンプル追加
test
CHANGED
@@ -1,3 +1,91 @@
|
|
1
1
|
``df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))``
|
2
2
|
|
3
3
|
でどうでしょうか。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
```Python
|
8
|
+
|
9
|
+
import pandas as pd
|
10
|
+
|
11
|
+
import io
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
data = """
|
16
|
+
|
17
|
+
race,馬番,能力1,能力2,着順(y)
|
18
|
+
|
19
|
+
1,1,0.112115797,0.980271793,0.5
|
20
|
+
|
21
|
+
1,2,0.10156389,0.15123039,0.25
|
22
|
+
|
23
|
+
1,3,0.141461107,0.889222429,0.75
|
24
|
+
|
25
|
+
1,4,0.364152658,0.504141353,1
|
26
|
+
|
27
|
+
2,1,0.232178085,0.811654683,0.25
|
28
|
+
|
29
|
+
2,2,0.490554328,0.271948642,0.75
|
30
|
+
|
31
|
+
2,3,0.912273302,0.545971675,1
|
32
|
+
|
33
|
+
2,4,0.306427195,0.219543843,0.5
|
34
|
+
|
35
|
+
3,1,0.84874005,0.225376628,0.75
|
36
|
+
|
37
|
+
3,2,0.980524014,0.518634533,1
|
38
|
+
|
39
|
+
3,3,0.793379468,0.707376409,0.5
|
40
|
+
|
41
|
+
3,4,0.337912623,0.340699924,0.25
|
42
|
+
|
43
|
+
4,1,0.865030143,0.54997774,1
|
44
|
+
|
45
|
+
4,2,0.743468075,0.717770634,0.75
|
46
|
+
|
47
|
+
4,3,0.175989149,0.219996247,0.5
|
48
|
+
|
49
|
+
4,4,0.032296776,0.140063011,0.25
|
50
|
+
|
51
|
+
5,1,0.108151134,0.01417521,0.25
|
52
|
+
|
53
|
+
5,2,0.812937171,0.969057406,0.75
|
54
|
+
|
55
|
+
5,3,0.869512736,0.196469624,1
|
56
|
+
|
57
|
+
5,4,0.380255494,0.544955296,0.5
|
58
|
+
|
59
|
+
6,1,0.265640962,0.367447423,0.25
|
60
|
+
|
61
|
+
6,2,0.606604272,0.149497873,0.5
|
62
|
+
|
63
|
+
6,3,0.748067103,0.704372874,0.75
|
64
|
+
|
65
|
+
6,4,0.896956794,0.22287917,1
|
66
|
+
|
67
|
+
"""
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
df = pd.read_csv(io.StringIO(data))
|
72
|
+
|
73
|
+
ret = df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))
|
74
|
+
|
75
|
+
# 馬番 能力1 能力2 着順(y) 馬番 ... 着順(y) 馬番 能力1 能力2 着順(y)
|
76
|
+
|
77
|
+
#race ...
|
78
|
+
|
79
|
+
#1 1.0 0.112116 0.980272 0.50 2.0 ... 0.75 4.0 0.364153 0.504141 1.00
|
80
|
+
|
81
|
+
#2 1.0 0.232178 0.811655 0.25 2.0 ... 1.00 4.0 0.306427 0.219544 0.50
|
82
|
+
|
83
|
+
#3 1.0 0.848740 0.225377 0.75 2.0 ... 0.50 4.0 0.337913 0.340700 0.25
|
84
|
+
|
85
|
+
#4 1.0 0.865030 0.549978 1.00 2.0 ... 0.50 4.0 0.032297 0.140063 0.25
|
86
|
+
|
87
|
+
#5 1.0 0.108151 0.014175 0.25 2.0 ... 1.00 4.0 0.380255 0.544955 0.50
|
88
|
+
|
89
|
+
#6 1.0 0.265641 0.367447 0.25 2.0 ... 0.75 4.0 0.896957 0.222879 1.00
|
90
|
+
|
91
|
+
```
|
1
ちょっと修正
test
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
``df.groupby('race').apply(lambda d: d[['馬番','能力
|
1
|
+
``df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))``
|
2
2
|
|
3
3
|
でどうでしょうか。
|