В вашем примере файла:
In [349]: cat stack58789967.txt
Item,Price
Curry Rice,3.5
Pork Chop,6
Seafood Soup,5
Salad,2.8
In [350]: np.genfromtxt('stack58789967.txt',delimiter=',',names=True, dtype=None)
/usr/local/bin/ipython3:1: VisibleDeprecationWarning: Reading unicode
strings without specifying the encoding argument is deprecated. Set the
encoding, use None for the system default.
#!/usr/bin/python3
Out[350]:
array([(b'Curry Rice', 3.5), (b'Pork Chop', 6. ), (b'Seafood Soup', 5. ),
(b'Salad', 2.8)], dtype=[('Item', 'S12'), ('Price', '<f8')])
In [351]: np.genfromtxt('stack58789967.txt',delimiter=',',names=True, dtype=None, encoding=None)
Out[351]:
array([('Curry Rice', 3.5), ('Pork Chop', 6. ), ('Seafood Soup', 5. ),
('Salad', 2.8)], dtype=[('Item', '<U12'), ('Price', '<f8')])
'S12' - это dtype строки байта, один байт на символ. Это норма Py2. «U12» - это тип Unicode, 4 байта на символ. Это норма Py3.
Здесь «кортежи» отмечают записи структурированного массива.
Массив 1d, доступ к полям осуществляется по имени:
In [352]: _.shape
Out[352]: (4,)
In [353]: __['Item']
Out[353]: array(['Curry Rice', 'Pork Chop', 'Seafood Soup', 'Salad'], dtype='<U12')