2 回答

TA贡献1811条经验 获得超6个赞
我认为你的问题在这里:
for df in dataframes:
df.name = filename[:-10]
df.columns = ['Time', 'Measurement']
这是第一个 for 所以你正在修改所有数据帧,到最后,所有数据帧都将具有相同的名称数据,请记住,当你定义df这个变量时包含对列表中项目的引用,所以你一切在列表中进行了修改。
我不知道数据的样子,但也许这就是你要找的:
dataframes = []
for filename in filenames:
dataframes.append(pd.read_csv(path+filename, sep=" ", header = None))
df = dataframes[-1]
df.name = filename[:-10]
df.columns = ['Time', 'Measurement']
使用 zip 的两种方法都是正确的。

TA贡献1847条经验 获得超11个赞
你可以这样做:
d = {}
for filename in filenames:
d[filename] = pd.read_csv(path+filename, sep=" ", header = None)
在这里,键将具有数据框的名称(即文件名),值是实际的数据框。
您可以像这样从 dict 中读取:
for key, val in d.items():
print(key,val)
添加回答
举报