Как преобразовать частоту 2D-данных в необработанные 1D-данные в Python? - PullRequest
0 голосов
/ 28 марта 2019

Проблема заключается в следующем.

Скажем, я пытаюсь отсортировать свои данные об энергии E. Обычно из лаборатории у вас будет 1-мерная таблица данных об энергиях, и вы будете делать подсчет частоты, конвертировать в таблицу E - счетчиков N ипопробуйте нарисовать гистограмму.Это может быть легко сделано в Python, например, с помощью пакета Numpy, Matplotlib или Seaborn.

Однако моя проблема идет прямо наоборот.Теперь у меня есть таблица подсчета частот, и я хочу сделать повторную выборку.Теперь я хочу использовать numpy.random.choice для генерации большего количества данных, чтобы компенсировать нехватку времени во время лабораторной работы, но для этого необходимо сначала предоставить массив образцов, который, если я правильно понимаю, должен сформировать массив 1D необработанных данных, в моем случае,массив энергии E.

Таким образом, я придумываю следующий код, пытаясь преобразовать таблицу EN в одну таблицу E, но, очевидно, это заняло у меня слишком много времени.(Основная идея - добавить таблицу 3 раза с помощью E_j, если N_j = 3.)

#I have 5 sets of data 
dat_raw = np.empty((5, 0))
for i in range(5):
    x = dat_time[i, 0]
    y = dat_time[i, 1]
    for j in range(len(y)):
        while y[j]!=0:
            for k in range((Len(y[j])):
                np.append(dat_raw[i], (x[j]))
plt.figure()
for i in range(5):
    sns.histplot(dat_raw[i])
plt.show()     

Поэтому я спрашиваю, есть ли более простой способ достичь моей цели?

...