欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Pandas實現(xiàn)豎向拼接多個DataFrame對象的幾種常用方法

 更新時間:2025年09月16日 09:04:53   作者:袁袁袁袁滿  
在pandas模塊中,通常我們都需要對類型為DataFrame的數(shù)據(jù)進行操作,其中最為常見的操作便是拼接了,在Python中,可以使用pandas庫的concat()函數(shù)或append()方法來豎向(按行)拼接多個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')

注意事項

  1. 默認情況下,concat()會保留原始索引,可以使用ignore_index=True重新生成連續(xù)索引
  2. 如果DataFrame的列不完全相同,可以使用sort=False避免列自動排序
  3. 對于大量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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論