介紹
在數據分析和處理過程中,我們總是需要從多個數據源中獲取數據並對數據進行合併。這個時候,pandas庫提供了一個非常方便的函數——append函數,用於將多個DataFrame或Series對象合併成一個。
在這篇文章中,我們將詳細介紹pandas的append函數的使用方法,包括如何使用它將多個數據源合併成一個,以及它的一些參數的用法。
正文
選擇要合併的數據
在使用append函數前,我們首先需要選擇要合併的數據。這些數據可以是多個DataFrame或Series對象,也可以是一個列表。
例如,我們有兩個DataFrame對象a和b:
import pandas as pd a = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) b = pd.DataFrame({'A': [3, 4], 'B': [5, 6]})
我們可以使用append函數將這兩個DataFrame合併成一個新的DataFrame:
c = a.append(b) print(c)
輸出結果如下:
A B 0 1 3 1 2 4 0 3 5 1 4 6
可以看到,append函數將DataFrame b添加到了DataFrame a的下方,生成了一個新的DataFrame對象c。
控制索引
如果我們不想保留原來的索引,可以設置參數ignore_index為True:
c = a.append(b, ignore_index=True) print(c)
輸出結果如下:
A B 0 1 3 1 2 4 2 3 5 3 4 6
可以看到,新的DataFrame對象c的索引被重置為了0到3。
合併列
當我們合併多個DataFrame時,有時候需要合併它們的列。例如,我們有兩個DataFrame對象a和b,它們有不同的列:
a = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) b = pd.DataFrame({'C': [3, 4], 'D': [5, 6]})
我們可以使用append函數將這兩個DataFrame的列合併成一個新的DataFrame:
c = a.append(b) print(c)
輸出結果如下:
A B C D 0 1.0 3.0 NaN NaN 1 2.0 4.0 NaN NaN 0 NaN NaN 3.0 5.0 1 NaN NaN 4.0 6.0
可以看到,新的DataFrame對象c包含了兩個DataFrame的所有列。如果原來的DataFrame沒有某一列,則該列的值將為NaN。
合併多個數據源
除了可以合併兩個DataFrame以外,我們也可以合併多個DataFrame。例如,我們有三個DataFrame對象a、b、c:
a = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) b = pd.DataFrame({'C': [3, 4], 'D': [5, 6]}) c = pd.DataFrame({'E': [5, 6], 'F': [7, 8]})
我們可以使用append函數將它們合併成一個新的DataFrame:
d = a.append([b, c]) print(d)
輸出結果如下:
A B C D E F 0 1.0 3.0 NaN NaN NaN NaN 1 2.0 4.0 NaN NaN NaN NaN 0 NaN NaN 3.0 5.0 NaN NaN 1 NaN NaN 4.0 6.0 NaN NaN 0 NaN NaN NaN NaN 5.0 7.0 1 NaN NaN NaN NaN 6.0 8.0
可以看到,新的DataFrame對象d包含了三個原來的DataFrame的所有列。
合併Series對象
除了DataFrame對象以外,我們也可以使用append函數合併Series對象。例如,我們有兩個Series對象a和b:
a = pd.Series([1, 2]) b = pd.Series([3, 4])
我們可以使用append函數將它們合併成一個新的Series對象:
c = a.append(b) print(c)
輸出結果如下:
0 1 1 2 0 3 1 4 dtype: int64
可以看到,新的Series對象c包含了兩個原來的Series對象。
總結
在本文中,我們詳細介紹了pandas的append函數的使用方法,包括如何使用它將多個數據源合併成一個,以及它的一些參數的用法。使用append函數可以更方便地將多個DataFrame或Series對象合併成一個,並且可以靈活控制索引和列的合併。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183566.html