在Python中如何高效地將一個DataFrame的整列復制到另一個結構不同的DataFrame中?

在Python中如何高效地將一個DataFrame的整列復制到另一個結構不同的DataFrame中?

pandaspython中強大的數據分析庫,但處理不同結構DataFrame間的列復制時,效率至關重要。本文介紹一種高效方法,避免逐行復制帶來的性能瓶頸。

假設我們有兩個結構不同的DataFrame,df1和df2,目標是將df2中的一列或多列復制到df1中,同時保持df1的原始結構。

以下代碼演示了如何高效地完成此操作:

import pandas as pd  # 創建示例DataFrame df1 = pd.DataFrame({     'A': range(4),     'B': range(4),     'C': range(4),     'D': range(4) }) df2 = pd.DataFrame({     'D': [11, 22, 33],     'E': ['aa', 'bb', 'cc'] })  # 將df2的'D'列復制到df1的'A'列 (假設需要調整長度) df1['A'] = df2['D'].reindex_like(df1['A']).values  # 將df2的'E'列添加到df1 (如果df1沒有'E'列) df1['E'] = df2['E'].reindex_like(df1['A']).values   # 打印結果 print(df1)

此方法利用reindex_like()函數調整df2列的索引,使其與df1對應列的索引匹配,然后使用.values屬性高效地將數據賦值給df1。這比逐行復制效率更高,尤其在大數據集上。 如果df2的列長度短于df1,多余部分將填充缺失值(NaN)。 如果需要在df1中添加新的列(例如df2的’E’列),可以直接賦值。 這種方法簡潔高效,適用于各種數據量的情況。

立即學習Python免費學習筆記(深入)”;

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享