Чтение CSV-файла в массив массивов, не возвращая ничего - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь прочитать набор данных CSV в двумерный массив NumPy и затем вернуть указанный массив.Я продолжаю получать сообщение об отсутствии ответа и не уверен в своем подходе к этой проблеме - я новичок в numpy.

Для ясности, набор данных содержит два столбца и около 100 строк данных.Я хочу создать массив, который состоит из первого столбца данных, являющегося координатами x, и второго столбца данных, являющегося координатами y.

import numpy as np 

data = open("mydata.csv")
read = data.read()

def generatingArray(read):
    for data in read:
        dataPoints = np.array(read[0], read[1])

        return dataPoints

print(generatingArray(dataFile))

Когда я вызываю функцию, она возвращает «Нет».Игра с размещением оператора return обычно выдает мне сообщение об ошибке.Будем очень благодарны за любые предложения о том, как настроить мой код.

1 Ответ

0 голосов
/ 01 апреля 2019

Прежде всего, измените имя переменной read на другое.Неправильно использовать совместное использование имен переменных со встроенными методами / ключевыми словами.

X=[]
Y=[]
with open('mydata.csv','r') as f:
#opens file for reading
    for line in f:#this reads a line
         a,b=line.split()
         X.append(a)
         Y.append(b)
      #appends first element to listX second to Y

Используйте with-open, когда вам нужно прочитать строку.Поскольку в строке есть два значения, разделенных пробелами, вы разделяете ее, извлекаете два значения и добавляете в списки X и Y, содержащие координаты X и Y.Теперь, если вы хотите иметь массив NumPy, используйте это: ar=np.array([X,Y]) [X, Y] 2Dlist, а no.array преобразует список в NUMPY массив.

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