Я новичок в 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 работает так? Что мне не хватает?
Вы создаете новый фрейм данных на каждой итерации цикла. Вместо этого, подход 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)