Невозможно добавить список со значениями numpy - PullRequest
0 голосов
/ 30 марта 2020

Я хочу рассчитать среднюю длину вектора из файла, который содержит координаты. В конечном итоге я хочу сохранить vector_length в виде списка под названием pair_length. Я вычислю среднее значение списка pair_length позже в моей программе, используя функцию average(). Вот фрагмент моего кода:

from numpy import sqrt
from itertools import islice
from statistics import mean

data = open("coords.txt","r")

def average():
    return mean()

pair_length = []

for line in islice(data, 1, None): #the first line is the number of pairs
    fields = line.split("   ")
    pair_num = int(fields[0]) #the first field is the pair number
    x_cord = float(fields[1]) #x-coordinate
    y_cord = float(fields[2]) #y-coordinate
    vector_length = sqrt(x_cord**2 + y_cord**2) #vector length (all numbers in the coords.txt file are real and positive)
    vector_length.append(pair_length)

Я получаю сообщение об ошибке:

AttributeError: 'numpy.float64' object has no attribute 'append'

1 Ответ

1 голос
/ 30 марта 2020

Здесь vector_length хранит значение float, поэтому операция добавления не будет работать с ним. Операция Append работает со списками в python.

Итак, что мы можем сделать:

Вместо

vector_length.append(pair_length)

Мы можем сделать следующее:

pair_length.append(vector_length)

Надеюсь, это сработает.

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