Я пытаюсь создать 3 numpy массивы/списки, используя данные из другого массива под названием mean_data следующим образом:
---> 39 R = np.array(mean_data[:,0])
40 P = np.array(mean_data[:,1])
41 Z = np.array(mean_data[:,2])
Когда я пытаюсь запустить программу, я получаю сообщение об ошибке:
TypeError: list indices must be integers, not tuple
Список средних_данных выглядит как этот образец...
[6.0, 315.0, 4.8123788544375692e-06],
[6.5, 0.0, 2.259217450023793e-06],
[6.5, 45.0, 9.2823565008402673e-06],
[6.5, 90.0, 8.309270169336028e-06],
[6.5, 135.0, 6.4709418114245381e-05],
[6.5, 180.0, 1.7227922423558414e-05],
[6.5, 225.0, 1.2308522579848724e-05],
[6.5, 270.0, 2.6905672894824344e-05],
[6.5, 315.0, 2.2727114437176048e-05]]
Я не знаю, как предотвратить эту ошибку, я попытался создать mean_data как np.array и использовать np.append для добавления к нему значений, но это также не решает проблему.
Здесь traceback (раньше использовал ipython)
Traceback (most recent call last):
File "polarplot.py", line 36, in <module>
R = np.array(mean_data[:,0])
TypeError: list indices must be integers, not tuple
И другим способом, который я пытался создать массив, было следующее:
mean_data = np.array([])
for ur, ua in it.product(uradius, uangle):
samepoints = (data[:,0]==ur) & (data[:,1]==ua)
if samepoints.sum() > 1: # check if there is more than one match
np.append(mean_data[ur, ua, np.mean(data[samepoints,-1])])
elif samepoints.sum() == 1:
np.append(mean_data, [ur, ua, data[samepoints,-1]])
Отслеживание:
IndexError Traceback (most recent call last)
<ipython-input-3-5268bc25e75e> in <module>()
31 samepoints = (data[:,0]==ur) & (data[:,1]==ua)
32 if samepoints.sum() > 1: # check if there is more than one match
---> 33 np.append(mean_data[ur, ua, np.mean(data[samepoints,-1])])
34 elif samepoints.sum() == 1:
35 np.append(mean_data, [ur, ua, data[samepoints,-1]])
IndexError: invalid index