回答編集履歴

1

Update

2022/01/04 07:33

投稿

melian
melian

スコア20655

test CHANGED
@@ -1,3 +1,63 @@
1
+ > csvファイルの1~3段目ごとに2次元配列としてnumpy変換したいです
2
+
3
+
4
+
5
+ 行ごとに要素数が異なりますので、`numpy.ndarray` のリストに変換するのはどうでしょうか。
6
+
7
+
8
+
9
+ ```python
10
+
11
+ import numpy as np
12
+
13
+ from ast import literal_eval
14
+
15
+
16
+
17
+ filename = 'data.csv'
18
+
19
+
20
+
21
+ with open(filename, 'r') as f:
22
+
23
+ data = [np.array(literal_eval(l.replace('"', '')))*10 for l in f]
24
+
25
+
26
+
27
+ from pprint import pprint
28
+
29
+ pprint(data)
30
+
31
+
32
+
33
+ #
34
+
35
+ [array([[1020, 1420],
36
+
37
+ [3970, 1240]]),
38
+
39
+ array([[2100, 750],
40
+
41
+ [2060, 2740],
42
+
43
+ [2450, 4260]]),
44
+
45
+ array([[3220, 1940],
46
+
47
+ [2970, 2930],
48
+
49
+ [2460, 3730],
50
+
51
+ [1620, 4330]])]
52
+
53
+ ```
54
+
55
+
56
+
57
+ **以前の回答**
58
+
59
+
60
+
1
61
  `ast.literal_eval` を使ってもよいかと思います。
2
62
 
3
63
  ```python