Python for 循环只识别块的第一行
Python for loop only recognizing first line of the block
我是 Python 的新手。我正在使用 python 3 在 Anaconda Spyder IDE 中进行一个简单的机器学习项目。
我尝试输入一个 csv 文件名,并使用 for 循环将它们一个一个地添加到 pandas 数据框中:
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 方法 as recommended in the docs 是从可迭代的系列构造数据框:
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)
我是 Python 的新手。我正在使用 python 3 在 Anaconda Spyder IDE 中进行一个简单的机器学习项目。 我尝试输入一个 csv 文件名,并使用 for 循环将它们一个一个地添加到 pandas 数据框中:
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 方法 as recommended in the docs 是从可迭代的系列构造数据框:
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)