簡體   English   中英

如何迭代地將多個列從一個數據幀追加到另一個?

[英]how to iteratively append multiple columns from one dataframe to another?

讓我們假設 2 個數據幀(浮點型),具有相同的索引/行數和動態列數,由某個函數生成。

    df1                       df2 
    0      avg          0      1         avg      
0   1.1    1.1      0   2.1     2.4      2.25
1   1.2    1.2      1    2.2    2.5      2.35
2   1.3   1.3       2    2.3    2.6      2.45

我想從每個 df 中獲取除最后一列之外的所有列,並以迭代方式將它們附加到新的 df 中。

我試過以下

df_lst=[df1, df2]
total_df=pd.DataFrame()

for frame in df_lst:
    total_df=pd.concat(total_df, frame.iloc[:, 0:-1])

但由於某種原因,new_df 附加了最后一列的 NaN 值

有人可以解釋為什么會這樣嗎? 我怎么能解決它?(我也嘗試過加入、追加、分配,但是 new_df 中的所有列都是空的)

所需的輸出看起來像

new_df
0    1.1    2.1   2.4
1    1.2    2.2   2.5
2    1.3    2.3   2.6

只需將軸添加到concat

df_list = [df1,df2]

pd.concat([d.iloc[:, :-1] for d in df_list], axis=1)

輸出:

     0    0    1
0  1.1  2.1  2.4
1  1.2  2.2  2.5
2  1.3  2.3  2.6

暫無
暫無

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

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