Python для цикла, распознающего только первую строку блока - PullRequest
0 голосов
/ 07 декабря 2018

Я новичок в Python.Я использую Python 3 для простого проекта машинного обучения в Anaconda Spyder IDE.Я попытался ввести имя csv-файла и добавить его по одному в кадр данных pandas один за другим, используя цикл for:

for i in range (var):
    name = input ('CSV file name: ')
    data = pd.read_csv (name)
    stocks = pd.DataFrame ({name: data ['Column name']})

Проблема в том, что цикл for работает только для первой строки.Он вводит имена файлов один за другим «var» раз, затем читает только последний файл.Почему цикл for работает так?Чего мне не хватает?

1 Ответ

0 голосов
/ 08 декабря 2018

Вы создаете новый фрейм данных на каждой итерации цикла.Вместо этого подход Pandas , рекомендованный в документации , заключается в построении кадра данных из итерируемой серии:

d = {}
for i in range(var):
    name = input('CSV file name: ')
    data = pd.read_csv(name)
    d[name] = data['Column name']

stocks = pd.concat(d.values(), axis=1, keys=d)
...