簡體   English   中英

如何連接字典中的數據框

[英]how to concatenate dataframes in a dictionary

我有一個大小為 8 的字典,每個鍵(h3-h10)都有一個數據框作為值。

我想通過我的所有數據幀多次執行 pd.concat 。 我確實將 2 個數據幀與簡單的 pd.concat 合並,但我不知道如何遍歷我的所有數據幀

df=pd.concat([data['h3'][0],data['h4'][0]])
print(df)

它把它作為輸出

我的第一個想法是創建空數據框,然后使用 for 循環,將我擁有 h3-h10 的所有其余數據框附加為數據框

qhn = []
i=0
for k in data:
  for i in range (0:len(data)-1):
    qhn = pd.concat([qhn,data[f'h{i}}'][0]])
    i+=1
print(qhn)

編輯:

我正在考慮在 for 循環的幫助下創建一系列數據框,然后執行 pd.concate(series):

for k in data:
  ser.set_value(data[f'{k}'][0])
print(Series)

但它也給了我錯誤:

AttributeError:“系列”對象沒有屬性“set_value”

也許您可以使用data.values()來獲取所有數據框的列表:

qhn = pd.concat(data.values())

您可以使用dict.values<\/code>連接所有值以一次調用所有值:

out = pd.concat(data.values(), ignore_index=True)

可能有兩種情況來存儲此基礎data<\/code> :

場景 1:將 DataFrame 直接存儲為字典中的值:

在這種情況下,您可以簡單地擴展使用第一次迭代創建第一個數據框的邏輯,然后在遍歷值並使用.append<\/code>時繼續附加值,如下所示:

data1 = {'h1':df1,'h2':df2,'h3':df3}

counter = 0
for value in data1.values():
    if counter == 0:
        output = value
        counter = 1
    else:
        output = output.append(value)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM