Python3.x: ndarray в цикле for - PullRequest
       26

Python3.x: ndarray в цикле for

0 голосов
/ 11 октября 2019

У меня есть несколько наборов данных, которые включают несколько столбцов. Все данные имеют одинаковую форму. Например, два набора данных выглядят следующим образом.

Данные № 1.

y   x1   x2   x3
1  0.2  5.4  3.0
2  0.1  1.2  4.0
3  5.0  2.0  2.0
4  1.2  0.1  0.1
5  1.0  0.5  0.7
6  6.5  8.0  0.8

Набор данных № 2.

y   x1   x2   x3
1  0.3  3.4  3.0
2  0.4  2.2  3.0
3  2.0  2.0  2.0
4  1.7  6.1  0.1
5  1.0  0.5  0.9
6  5.5  1.0  7.8

Мне нужно кое-что по математике для х файлов. Все файлы x находятся в одном списке.

my_xdata=[array([0.2,0.1,5.0,1.2,1.0,6.5],[5.4,1.2,2.0,0.1,0.5,8.0],[3.0,4.0,2.0,0.1,0.7,0.8]), array([0.3,0.4,2.0,1.7,1.0,5.5],[3.4,2.2,2.0,6.1,0.5,1.0],[3.0,3.0,2.0,0.1,0.9,7.8])]

Мой желаемый результат - сделать математику для каждого списка для каждого набора данных. Следовательно, результат должен иметь одинаковую форму данных. Результат должен выглядеть следующим образом (точное число не используется, но в действительности элементы в списках являются плавающими). ​​

my_xdata=[array(['math output using x1 in Data set #1'],['math output using x2 in Data set #1'],['math output using x3 in Data1']), array(['math output using x1 in Data set #2'],['math output using x2 in Data set #2'],['math output using x3 in Data set #2'])]

До сих пор я пробовал использовать цикл for следующим образом:

median_ten_percent=[]
median_fifty_percent=[]
median_ninety_percent=[]
for i in range(len(my_xdata)):
    m10= interp1d(my_xdata[i], y, assume_sorted = False,fill_value="extrapolate")
    median_ten_percent.append((m10(2.5)))   #finding the x value when y is 2.5
    m50= interp1d(my_xdata[i], y, assume_sorted = False,fill_value="extrapolate")
    median_fifty_percent.append((m50(3.5)))   #finding the x value when y is 3.5 
    m90= interp1d(my_xdata[i], y, assume_sorted = False,fill_value="extrapolate")
    median_ninety_percent.append(m90(5.5))   #finding the x value when y is 5.5  

Я получаю сообщение об ошибке: 'numpy.ndarray' object has no attribute 'append'.

Я попытался заменить median_ten1.append((m10(0.1))) на median_ten1.append(np.concatenate((m10(0.1)))). Затем он говорит, len() of unsized object.

Может кто-нибудь помочь мне правильно отредактировать код?

Спасибо большое

...