Задача dtyping 3-х мерного структурированного массива - PullRequest
0 голосов
/ 17 февраля 2020

Новичок здесь! Я пытаюсь связать разные типы для каждой отдельной строки трехмерного массива. Я попытался расширить то, что я сделал с двумерным, но по неизвестной причине он продолжает давать мне TypeError: тип данных не понят. Мне нужен огромный список строк, определенных для проекта колледжа, я был бы признателен за вашу помощь. Я использую последний python с пакетом numpy. :)

dt = np.array([[('ID', 'i4'),('Name', 'U10')],
            [('ID', 'i4'),('Name', 'U10')],
            [('ID', 'i4'),('Name', 'U10')]])
Gthm_Extend_id = np.array([[(0, 'Red'),       ## Colors
                     (1, 'Orange'),
                     (2, 'Yellow'),
                     (3, 'Green'),
                     (4, 'Blue'),
                     (5, 'Purple'),
                     (6, 'Brown'),
                     (7, 'Black')],
                    [(0, 'Defender'),   ## Keywords
                     (1, 'First Strike'),
                     (2, 'FLying'),
                     (3, 'Haste'),
                     (4, 'Hexproof'),
                     (5, 'Indestructible'),
                     (6, 'Lifelink'),
                     (7, 'Trample'),
                     (8, 'Taunt')],
                     [(0, 'Devils'),    ## Tribe[enter image description here][1]s
                      (1, 'Whales'),
                      (2, 'Seraphins'),
                      (3, 'Beasts'),
                      (4, 'Turtles'),
                      (5, 'Octopuses'),
                      (6, 'Ogres'),
                      (7, 'Horrors')]],
                     dtype = dt)

1 Ответ

0 голосов
/ 17 февраля 2020
In [327]: dt = np.dtype([('ID', 'i4'),('Name', 'U10')])                                        
In [328]: np.array([[(0, 'Red'),       ## Colors 
     ...:                      (1, 'Orange'), 
     ...:                      (2, 'Yellow'), 
     ...:                      (3, 'Green'), 
     ...:                      (4, 'Blue'), 
     ...:                      (5, 'Purple'), 
     ...:                      (6, 'Brown'), 
     ...:                      (7, 'Black')], 
     ...:                     [(0, 'Defender'),   ## Keywords 
     ...:                      (1, 'First Strike'), 
     ...:                      (2, 'FLying'), 
     ...:                      (3, 'Haste'), 
     ...:                      (4, 'Hexproof'), 
     ...:                      (5, 'Indestructible'), 
     ...:                      (6, 'Lifelink'), 
     ...:                      (7, 'Trample'), 
     ...:                      ], 
     ...:                      [(0, 'Devils'),    ## Tribe[enter image description here][1]s 
     ...:                       (1, 'Whales'), 
     ...:                       (2, 'Seraphins'), 
     ...:                       (3, 'Beasts'), 
     ...:                       (4, 'Turtles'), 
     ...:                       (5, 'Octopuses'), 
     ...:                       (6, 'Ogres'), 
     ...:                       (7, 'Horrors')]], 
     ...:                      dt 
     ...:                     )                                                                
Out[328]: 
array([[(0, 'Red'), (1, 'Orange'), (2, 'Yellow'), (3, 'Green'),
        (4, 'Blue'), (5, 'Purple'), (6, 'Brown'), (7, 'Black')],
       [(0, 'Defender'), (1, 'First Stri'), (2, 'FLying'), (3, 'Haste'),
        (4, 'Hexproof'), (5, 'Indestruct'), (6, 'Lifelink'),
        (7, 'Trample')],
       [(0, 'Devils'), (1, 'Whales'), (2, 'Seraphins'), (3, 'Beasts'),
        (4, 'Turtles'), (5, 'Octopuses'), (6, 'Ogres'), (7, 'Horrors')]],
      dtype=[('ID', '<i4'), ('Name', '<U10')])
In [329]: _.shape                                                                              
Out[329]: (3, 8)
...