экспортировать зацикленные выходные данные гистограммы в список без информации о массиве и форматирования - PullRequest
0 голосов
/ 31 октября 2018

Я выполняю цикл данных, собранных из нескольких списков. В конце концов я собираюсь создать гистограмму, однако я хочу, чтобы выводимые из бинарных данных функции гистограммы были экспортированы в список. В настоящее время данные экспортируются в список, который выглядит как массив - я предполагаю, что это происходит из исходного вывода numpy, но я не могу решить эту проблему. В идеале я хочу, чтобы значения для каждого подсписка были без значений информации о массиве и заголовках с указанием каких-либо указателей?

bins = [0, 1.06, 5.01, 10.01, 15]
sigmafreqdist=[]

for i in alldata:
    freqdist = np.histogram(i,bins)
    sigmafreqdist.append(freqdist)


#print the list 
print(sigmafreqdist)

Результат, который я получаю, выглядит примерно так:

(array([ 6, 14,  2,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([ 5, 14,  0,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([31, 19,  2,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([12, 43,  1,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([30, 34,  1,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([12, 13,  0,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ])),
 (array([12, 28,  1,  0], dtype=int64),
  array([ 0.  ,  1.06,  5.01, 10.01, 15.  ]))]

Первый массив полезен, но все остальное бесполезно - плюс текст и скобки не требуются. Я пробовал np.delete np.tolist безрезультатно

Любая помощь будет высоко ценится.

Я новичок - извините, если код неэффективен!

1 Ответ

0 голосов
/ 31 октября 2018

Вот мой первый ответ на сообщение stackoverflow. Вместо использования «для циклов» попробуйте использовать более простое «понимание списка». Я надеюсь, что это поможет вам!

import numpy as np

# Random dataset. Create a list of 3 lists. Each list contains 20 random 
# numbers between 0 and 15.
Data = [np.random.uniform(0,15,20) for i in range(3)]

# Values used to bin the data.
Bins = [0, 1.06, 5.01, 10.01, 15]

# Using np.histogram on each list.
HistogramData = [np.histogram(i,Bins) for i in Data]

# 'i[0]' selects the first element in the tuple output of the histogram 
#  function i.e. the frequency. The function 'list()' removes the 'dtype= '.
BinnedData = [list(i[0]) for i in HistogramData]

print(BinnedData)

# Merging everything into a definition
def PrintHistogramResults(YourData, YourBins):
    HistogramData = [np.histogram(i,YourBins) for i in YourData]
    BinnedData = [list(i[0]) for i in HistogramData]
    print(BinnedData)

TestDefinition = PrintHistogramResults(Data, Bins)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...