回答編集履歴
3
answer
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
`numpy.loadtxt` で読み込んで、4列の2次元配列(`shape (-1, 4)`
|
1
|
+
`numpy.loadtxt` で読み込んで、4列の2次元配列(`shape (-1, 4)`)に変換するとよいかと思います。
|
2
|
-
data[*blk[1:3].astype(int)] = blk[3]
|
3
|
-
)に変換するとよいかと思います。
|
4
2
|
```python
|
5
3
|
import numpy as np
|
6
4
|
import pandas as pd
|
2
Pandas の read_csv() ではなく Numpy の loadtxt() を利用
answer
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
`numpy.loadtxt` で読み込んで、4列の2次元配列(`shape (-1, 4)` data[*blk[1:3].astype(int)] = blk[3]
|
1
|
-
|
2
|
+
data[*blk[1:3].astype(int)] = blk[3]
|
3
|
+
)に変換するとよいかと思います。
|
2
4
|
```python
|
3
5
|
import numpy as np
|
4
6
|
import pandas as pd
|
@@ -8,10 +10,9 @@
|
|
8
10
|
R = []
|
9
11
|
for f in data_files:
|
10
12
|
data = np.zeros((2, 2))
|
11
|
-
# 4行ごとに
|
13
|
+
# 4行ごとに分割(空行はスキップされる)
|
12
|
-
for blk in
|
14
|
+
for blk in np.loadtxt(f).reshape((-1, 4)):
|
13
|
-
blk = blk.to_numpy()
|
14
|
-
data[blk[1].astype(int)
|
15
|
+
data[*blk[1:3].astype(int)] = blk[3]
|
15
16
|
R.append(data)
|
16
17
|
|
17
18
|
A = block_diag(*R)
|
1
配列のインデックスがfloat型になっているのを修正(int型に変換)
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
# 4行ごとに読み込み(空行はスキップされる)
|
12
12
|
for blk in pd.read_csv(f, header=None, chunksize=4):
|
13
13
|
blk = blk.to_numpy()
|
14
|
-
data[blk[1], blk[2]] = blk[3]
|
14
|
+
data[blk[1].astype(int), blk[2].astype(int)] = blk[3]
|
15
15
|
R.append(data)
|
16
16
|
|
17
17
|
A = block_diag(*R)
|