回答編集履歴

1

pandas方式を追加

2021/04/14 22:52

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -1,4 +1,4 @@
1
- 以下でできています。
1
+ リストでやるなら以下でできています。
2
2
 
3
3
 
4
4
 
@@ -13,3 +13,45 @@
13
13
  [['1', 'd', 'e'], ['1', 'l', 'm'], ['1', 'p', 'q'], ['0', 'j', 'k'], ['0', 'v', 'w']]
14
14
 
15
15
  ```
16
+
17
+
18
+
19
+ pandasを使うなら以下です。
20
+
21
+
22
+
23
+ ```python
24
+
25
+ >>> df = pd.DataFrame(a_csv)
26
+
27
+ >>> print(df)
28
+
29
+ 0 1 2 3 4 5 6 7
30
+
31
+ 0 a b c 1 d e f g
32
+
33
+ 1 a b c 0 h i j k
34
+
35
+ 2 a b c 1 l m n o
36
+
37
+ 3 a b c 1 p q r s
38
+
39
+ 4 a b c 0 t u v w
40
+
41
+ >>> out_df = pd.concat([df[df[3]=='1'].iloc[:,[3,4,5]].set_axis(range(3), axis=1),df[df[3]=='0'].iloc[:,[3,6,7]].set_axis(range(3), axis=1)])
42
+
43
+ >>> print(out_df)
44
+
45
+ 0 1 2
46
+
47
+ 0 1 d e
48
+
49
+ 2 1 l m
50
+
51
+ 3 1 p q
52
+
53
+ 1 0 j k
54
+
55
+ 4 0 v w
56
+
57
+ ```