csvファイルの1~3段目ごとに2次元配列としてnumpy変換したいです
行ごとに要素数が異なりますので、numpy.ndarray
のリストに変換するのはどうでしょうか。
python
1import numpy as np
2from ast import literal_eval
3
4filename = 'data.csv'
5
6with open(filename, 'r') as f:
7 data = [np.array(literal_eval(l.replace('"', '')))*10 for l in f]
8
9from pprint import pprint
10pprint(data)
11
12#
13[array([[1020, 1420],
14 [3970, 1240]]),
15 array([[2100, 750],
16 [2060, 2740],
17 [2450, 4260]]),
18 array([[3220, 1940],
19 [2970, 2930],
20 [2460, 3730],
21 [1620, 4330]])]
以前の回答
ast.literal_eval
を使ってもよいかと思います。
python
1import numpy as np
2from ast import literal_eval
3
4filename = 'data.csv'
5
6data = []
7with open(filename, 'r') as f:
8 for l in f:
9 data.extend(literal_eval(l.replace('"', '')))
10
11data = np.array(data) * 10
12print(data)
13
14#
15[[1020 1420]
16 [3970 1240]
17 [2100 750]
18 [2060 2740]
19 [2450 4260]
20 [3220 1940]
21 [2970 2930]
22 [2460 3730]
23 [1620 4330]]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/04 06:38
2022/01/04 06:44