亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數據框列表添加到字典

將數據框列表添加到字典

Cats萌萌 2022-10-18 17:32:56
我正在嘗試將 7 個數據框的列表添加到字典中,其中鍵是數據框名稱,值是數據框本身,如下所示:    {"Clock 1": clock1_df, "Clock 2": clock2_df, ...}我用數據框名稱創建了一個列表,然后嘗試將這兩個列表放入字典中,但它只將每個列表的最后一個元素添加到字典中:    adict = dict(zip(f_names_list, dataframes))     或者    bdict = {k:v for k, v in zip(f_names_list, dataframes)}     問:為什么dict中只有每個列表的最后一個元素?我是否因為試圖將數據框列表添加到字典而生氣?兩個列表都有唯一的值。我像這樣制作數據框列表:path = 'dat/'f = []for (dirpath, dirnames, filenames) in walk(path):    f.extend(filenames)    breakdataframes = []for filename in filenames:  dataframes.append(pd.read_csv(path+filename, sep=" ", header = None))  for df in dataframes:    df.name = filename[:-10]    df.columns = ['Time', 'Measurement']  
查看完整描述

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 的兩種方法都是正確的。


查看完整回答
反對 回復 2022-10-18
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

你可以這樣做:


d = {}

for filename in filenames:

    d[filename] = pd.read_csv(path+filename, sep=" ", header = None)

在這里,鍵將具有數據框的名稱(即文件名),值是實際的數據框。


您可以像這樣從 dict 中讀?。?/p>


for key, val in d.items():

    print(key,val)


查看完整回答
反對 回復 2022-10-18
  • 2 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號