У меня есть объемные данные, из которых я хочу построить октавную шкалу: 2 ^ n: 1,2,4,8,16,32,64 ... и т. Д. N = 0,1,2,3,4,5,6 ...
Объем данных:
Biovolume (µm³)
0.238873
1.05251
2.82718
Мой код:
import pandas as pd
import numpy as np
#data file
data = pd.read_csv("data.csv")
#define and sort biovolume
Biovolume = data['Biovolume'].as_matrix()
Biovolume = np.sort(Biovolume)
#octave scale:
min_scale = np.floor(np.log2(np.min(Biovolume))).astype('int')
max_scale = np.ceil(np.log2(np.max(Biovolume))).astype('int')
Минимальная шкала для данных объема равна -3и максимум 2. Следующим шагом является фактическое построение октавной шкалы для данных:
octave_scale = np.power(2, range(min_scale, max_scale+1))
Однако я получаю эту ошибку: ValueError: Не допускаются целые числа к отрицательным целым числам.
Я думаю, это означает, что невозможно сделать 2 ^ -3, 2 ^ -2 и 2 ^ -1.Почему это?Есть ли решение?