Python for循环只识别b的第一行

2024-09-29 23:17:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还不熟悉。我正在anacondaspyderide中使用python3进行一个简单的机器学习项目。 我尝试输入一个csv文件名,并使用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循环是这样工作的?我错过了什么?你知道吗


Tags: csv数据项目namein机器forinput
1条回答
网友
1楼 · 发布于 2024-09-29 23:17:32

您正在循环的每个迭代中创建一个新的数据帧。相反,Pandas方法as recommended in the docs是从一系列的iterable构建一个数据帧:

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)

相关问题 更多 >

    热门问题