Может быть полезно узнать, как читается csv
.Но по какой-либо причине он, кажется, создал массив numpy
со строкой dtype
:
In [106]: data = np.array(['0.12', '0.23'])
In [107]: data
Out[107]: array(['0.12', '0.23'], dtype='<U4')
In [108]: print(data)
['0.12' '0.23']
Форматирование str
такого массива пропускает запятую, дисплей repr
сохраняетit.
Эквивалент списка также отображается с запятой:
In [109]: data.tolist()
Out[109]: ['0.12', '0.23']
Мы называем этот массив массивом, но технически он имеет класс numpy.ndarray
In [110]: type(data)
Out[110]: numpy.ndarray
Его можно преобразовать в массив чисел с помощью:
In [111]: data.astype(float)
Out[111]: array([0.12, 0.23])
Это все равно ndarray
, просто dtype
отличается.Возможно, вам придется прочитать больше в numpy
документах о dtype
.
Ошибка:
Если я хочу рассчитать с ним, выдает ошибку TypeError: onlyМассивы размера 1 могут быть преобразованы в скаляры Python
имеет другой источник.data
имеет 2 элемента.Вы не показываете код, который генерирует эту ошибку, но часто мы видим это при построении вызовов.Предполагается, что параметром является одно число (часто целое число), где в качестве массива, даже с числовым значением dtype
), два числа.