一、DataFrame.append()的介紹
DataFrame是pandas庫中最常用的數據類型,用於處理表格數據。append()是DataFrame對象的一個函數,能夠將另一個DataFrame對象中的行追加到當前的DataFrame對象中,返回一個新的DataFrame對象。可以將append()函數看作是對DataFrame對象進行行操作的一種方法。
二、DataFrame.append()函數的語法和參數
該函數的語法和參數如下:
DataFrame.append(self, other, ignore_index=False, verify_integrity=False, sort=False)
- self:當前的DataFrame對象
- other:要追加到當前DataFrame對象的另一個DataFrame對象或Series對象
- ignore_index:如果為True,則不使用當前DataFrame對象的索引;如果,為False則索引會被傳遞下去
- verify_integrity:如果為True,則檢查列是否重複,可能會延遲行的追加(註:默認值為False)
- sort:如果為True,則對列數進行排序。默認值為False
三、DataFrame.append()函數的用法
1、將兩個DataFrame對象進行合併
使用append()函數可以方便地將兩個DataFrame對象進行合併。 以下代碼演示如何將兩個DataFrame對象進行合併:
#導入pandas庫
import pandas as pd
#創建第一個DataFrame對象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']})
#創建第二個DataFrame對象
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'],
'B': ['B3', 'B4', 'B5'],
'C': ['C3', 'C4', 'C5']})
#將df2追加到df1中
df = df1.append(df2)
#列印結果
print(df)
輸出結果如下所示:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
0 A3 B3 C3
1 A4 B4 C4
2 A5 B5 C5
2、將Series對象追加到DataFrame對象中
還可以使用append()函數將Series對象追加到DataFrame對象中。以下是具體實現方式:
#導入pandas庫
import pandas as pd
#創建DataFrame對象
df = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']})
#創建Series對象
s = pd.Series(['A3', 'B3', 'C3'], index=['A', 'B', 'C'])
#將Series對象追加到DataFrame對象中
df = df.append(s, ignore_index=True)
#列印結果
print(df)
輸出結果如下所示:
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
3、保留重建索引後的列名
當在合併兩個DataFrame對象時,如果索引列的名稱不一致,就會生成一個新的列。如果想在保留新列同時,將它的名稱設置與原來的相同,就可以使用rename函數。下面我們通過示例來進行演示:
#導入pandas庫
import pandas as pd
#創建DataFrame對象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']}, index=['i0', 'i1', 'i2'])
df2 = pd.DataFrame({'C': ['D0', 'D1', 'D2'],
'D': ['E0', 'E1', 'E2'],
'E': ['F0', 'F1', 'F2']}, index=['i1', 'i2', 'i3'])
#使用ignore_index參數,將兩個DataFrame對象進行合併。同時問保留新列。
df = df1.append(df2, ignore_index=False, sort=False).rename_axis('data').reset_index()
#列印結果
print(df)
輸出結果如下所示:
data A B C D E
0 i0 A0 B0 C0 NaN NaN
1 i1 A1 B1 C1 E0 F0
2 i2 A2 B2 C2 E1 F1
3 i1 NaN NaN D0 E0 F0
4 i2 NaN NaN D1 E1 F1
5 i3 NaN NaN D2 E2 F2
4、對DataFrame對象進行追加後,重新生成索引
使用DataFrame.append()函數,可以輸入ignore_index=True參數對數據進行重建索引,以下代碼演示如何對追加後的DataFrame對象進行重建索引操作:
#導入pandas庫
import pandas as pd
#創建DataFrame對象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2'],
'C': ['C0', 'C1', 'C2']}, index=['i0', 'i1', 'i2'])
df2 = pd.DataFrame({'C': ['D0', 'D1', 'D2'],
'D': ['E0', 'E1', 'E2'],
'E': ['F0', 'F1', 'F2']}, index=['i2', 'i3', 'i4'])
#當ignore_index=True時,對DataFrame對象進行重建索引
df = df1.append(df2, ignore_index=True, sort=False)
#列印結果
print(df)
輸出結果如下所示:
A B C D E
0 A0 B0 C0 NaN NaN
1 A1 B1 C1 NaN NaN
2 A2 B2 C2 NaN NaN
3 NaN NaN D0 E0 F0
4 NaN NaN D1 E1 F1
5 NaN NaN D2 E2 F2
總結:
DataFrame.append()函數對於合併兩個或多個DataFrame對象十分方便,能夠簡單地將一個DataFrame對象中另一個DataFrame對象的行添加到後面,經過重建索引和排序,能以更清晰的方式將一個新DataFrame追加到另一個DataFrame對象中,並生成一個新的DataFrame對象。這使得用戶可以快速地以各種方式創建複雜數據結構,而不必費盡周折地定義各個元素,或編寫複雜的代碼。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241894.html