回答編集履歴
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)
         | 
