2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
我認(rèn)為你的問(wèn)題在這里:
for df in dataframes:
df.name = filename[:-10]
df.columns = ['Time', 'Measurement']
這是第一個(gè) for 所以你正在修改所有數(shù)據(jù)幀,到最后,所有數(shù)據(jù)幀都將具有相同的名稱(chēng)數(shù)據(jù),請(qǐng)記住,當(dāng)你定義df這個(gè)變量時(shí)包含對(duì)列表中項(xiàng)目的引用,所以你一切在列表中進(jìn)行了修改。
我不知道數(shù)據(jù)的樣子,但也許這就是你要找的:
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貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
你可以這樣做:
d = {}
for filename in filenames:
d[filename] = pd.read_csv(path+filename, sep=" ", header = None)
在這里,鍵將具有數(shù)據(jù)框的名稱(chēng)(即文件名),值是實(shí)際的數(shù)據(jù)框。
您可以像這樣從 dict 中讀取:
for key, val in d.items():
print(key,val)
添加回答
舉報(bào)