teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

サンプル追加

2019/05/16 07:17

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -1,2 +1,46 @@
1
1
  ``df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))``
2
- でどうでしょうか。
2
+ でどうでしょうか。
3
+
4
+ ```Python
5
+ import pandas as pd
6
+ import io
7
+
8
+ data = """
9
+ race,馬番,能力1,能力2,着順(y)
10
+ 1,1,0.112115797,0.980271793,0.5
11
+ 1,2,0.10156389,0.15123039,0.25
12
+ 1,3,0.141461107,0.889222429,0.75
13
+ 1,4,0.364152658,0.504141353,1
14
+ 2,1,0.232178085,0.811654683,0.25
15
+ 2,2,0.490554328,0.271948642,0.75
16
+ 2,3,0.912273302,0.545971675,1
17
+ 2,4,0.306427195,0.219543843,0.5
18
+ 3,1,0.84874005,0.225376628,0.75
19
+ 3,2,0.980524014,0.518634533,1
20
+ 3,3,0.793379468,0.707376409,0.5
21
+ 3,4,0.337912623,0.340699924,0.25
22
+ 4,1,0.865030143,0.54997774,1
23
+ 4,2,0.743468075,0.717770634,0.75
24
+ 4,3,0.175989149,0.219996247,0.5
25
+ 4,4,0.032296776,0.140063011,0.25
26
+ 5,1,0.108151134,0.01417521,0.25
27
+ 5,2,0.812937171,0.969057406,0.75
28
+ 5,3,0.869512736,0.196469624,1
29
+ 5,4,0.380255494,0.544955296,0.5
30
+ 6,1,0.265640962,0.367447423,0.25
31
+ 6,2,0.606604272,0.149497873,0.5
32
+ 6,3,0.748067103,0.704372874,0.75
33
+ 6,4,0.896956794,0.22287917,1
34
+ """
35
+
36
+ df = pd.read_csv(io.StringIO(data))
37
+ ret = df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))
38
+ # 馬番 能力1 能力2 着順(y) 馬番 ... 着順(y) 馬番 能力1 能力2 着順(y)
39
+ #race ...
40
+ #1 1.0 0.112116 0.980272 0.50 2.0 ... 0.75 4.0 0.364153 0.504141 1.00
41
+ #2 1.0 0.232178 0.811655 0.25 2.0 ... 1.00 4.0 0.306427 0.219544 0.50
42
+ #3 1.0 0.848740 0.225377 0.75 2.0 ... 0.50 4.0 0.337913 0.340700 0.25
43
+ #4 1.0 0.865030 0.549978 1.00 2.0 ... 0.50 4.0 0.032297 0.140063 0.25
44
+ #5 1.0 0.108151 0.014175 0.25 2.0 ... 1.00 4.0 0.380255 0.544955 0.50
45
+ #6 1.0 0.265641 0.367447 0.25 2.0 ... 0.75 4.0 0.896957 0.222879 1.00
46
+ ```

1

ちょっと修正

2019/05/16 07:16

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -1,2 +1,2 @@
1
- ``df.groupby('race').apply(lambda d: d[['馬番','能力','能力','着順(y)']].stack().reset_index(level=0, drop=True))``
1
+ ``df.groupby('race').apply(lambda d: d[['馬番','能力1','能力2','着順(y)']].stack().reset_index(level=0, drop=True))``
2
2
  でどうでしょうか。