Гистограмма профиля с использованием Python (ошибка: «FutureWarning: ...» - PullRequest
0 голосов
/ 16 ноября 2018

Подобный вопрос уже задавался по этому вопросу: Построение гистограмм профиля в python .Но, тем не менее, по какой-то причине мне это не сработает.

Давайте посмотрим на мой код

 from pylab import *
 import numpy as np
 import matplotlib.pyplot as plt
 import seaborn as sns
 import scipy


 file = open('cesium.txt','r')
 count = 0
 energy_channel = []
 intensity_counts = []
 for line in file.readlines():
     count += 1
     if count >= 10:
         row = line.split()
         int_1 = int(row[0])
         int_2 = int(row[-1])
         energy_channel.append(int_1)
         intensity_counts.append(int_2)
     if count == 2700: break


 plt.plot(energy_channel, intensity_counts, 'k.')
 plt.xlabel('Energy (keV)')
 plt.ylabel('Counts')
 plt.xticks([0, 400, 800, 1200, 1600, 2000, 2400],
            [0, 110, 220, 330, 440, 550, 662])
 plt.show()
 plt.clf()

Это построит так называемый гамма-спектр для радиоактивного излучения.изотоп Cs-137 (для тех, кто интересуется).Теперь я хотел бы сделать гистограмму профиля из этого спектра.Поскольку у меня есть все точки, сохраненные в двух (x- и y-) векторах energy_channel и интенсивности_counts, соответственно, я подумал, что что-то вроде этого может работать:

scipy.stats.binned_statistic(energy_channel,intensity_counts)

Но это просто дает мне сообщение об ошибке:

 FutureWarning:
 Using a non-tuple sequence for multidimensional indexing is deprecated;
 use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be
 interpreted as an array index, `arr[np.array(seq)]`, which will result
 either in an error or a different result.

Надеюсь, я ясно понял мой вопрос здесь.Я хотел бы создать гистограмму профиля, как в теме, на которую я поместил ссылку, но она, кажется, не работает так, как я думаю, и не могу понять.

Редактировать: Iпопытался превратить списки в tuple-list с помощью функции zip (), а затем передать его функции binned_statistics (), но появляется то же сообщение об ошибке.Я также пытался составить списки в последовательности, но, похоже, это тоже не сработало.

...