基于Pandas實現(xiàn)豎向拼接多個DataFrame對象的幾種常用方法
在Python中,可以使用pandas庫的concat()函數(shù)或append()方法來豎向(按行)拼接多個DataFrame對象。以下是幾種常用的方法:
方法1:使用pd.concat()
import pandas as pd
# 創(chuàng)建示例DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
df3 = pd.DataFrame({'A': ['A4', 'A5'], 'B': ['B4', 'B5']})
# 豎向拼接
result = pd.concat([df1, df2, df3], axis=0) # axis=0是默認值,可以省略
print(result)
輸出:
A B 0 A0 B0 1 A1 B1 0 A2 B2 1 A3 B3 0 A4 B4 1 A5 B5
方法2:使用append()方法(已棄用,推薦使用concat)
# 注意:append()在pandas 2.0版本中已被棄用 result = df1.append([df2, df3], ignore_index=True) print(result)
方法3:使用concat()并重置索引
result = pd.concat([df1, df2, df3], ignore_index=True) print(result)
輸出:
A B 0 A0 B0 1 A1 B1 2 A2 B2 3 A3 B3 4 A4 B4 5 A5 B5
高級用法
處理不同列的DataFrame:
df4 = pd.DataFrame({'A': ['A6', 'A7'], 'C': ['C6', 'C7']})
result = pd.concat([df1, df4], sort=False)
print(result)
添加區(qū)分鍵:
result = pd.concat([df1, df2, df3], keys=['df1', 'df2', 'df3']) print(result)
使用join參數(shù)處理不同列:
# 內(nèi)連接,只保留共有的列 result = pd.concat([df1, df4], join='inner')
注意事項
- 默認情況下,
concat()會保留原始索引,可以使用ignore_index=True重新生成連續(xù)索引 - 如果DataFrame的列不完全相同,可以使用
sort=False避免列自動排序 - 對于大量DataFrame拼接,考慮使用生成器表達式而不是列表推導式以節(jié)省內(nèi)存
性能考慮
對于大量DataFrame的拼接,可以先將它們放入列表中,然后一次性拼接:
dfs = [df1, df2, df3] # 可以是任意數(shù)量的DataFrame result = pd.concat(dfs, ignore_index=True)
這種方法比逐個追加更高效。
到此這篇關于基于Pandas實現(xiàn)豎向拼接多個DataFrame對象的幾種常用方法的文章就介紹到這了,更多相關Pandas豎向拼接DataFrame對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中l(wèi)ambda的用法及其與def的區(qū)別解析
這篇文章主要介紹了Python中l(wèi)ambda的用法及其與def的區(qū)別解析,需要的朋友可以參考下2014-07-07
python+Splinter實現(xiàn)12306搶票功能
這篇文章主要為大家詳細介紹了python+Splinter實現(xiàn)12306搶票功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
python內(nèi)置模塊OS?實現(xiàn)SHELL端文件處理器
這篇文章主要介紹了python內(nèi)置模塊OS實現(xiàn)SHELL端文件處理器,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
python GUI庫圖形界面開發(fā)之pyinstaller打包python程序為exe安裝文件
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之pyinstaller打包python程序為exe安裝文件,需要的朋友可以參考下2020-02-02
python用pickle模塊實現(xiàn)“增刪改查”的簡易功能
本篇文章主要介紹了python用pickle模塊實現(xiàn)“增刪改查”的簡易功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-06-06

