Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách nối (append) hai DataFrame trong Pandas


Để nối các hàng của một dataframe với các hàng của dataframe khác, chúng ta có thể sử dụng hàm append() của Pandas. Với sự giúp đỡ của append(), chúng ta cũng có thể nối cột. Hãy lấy ví dụ và xem cách sử dụng phương thức này.

Các bước

  • Tạo dữ liệu bảng hai chiều, df1.
  • In DataFrame đầu vào, df1.
  • Tạo DataFrame khác, df2, với cùng tên cột và in nó.
  • Sử dụng phương thức append, df1.append(df2, ignore_index=True), để nối hàng của df2 với df1.
  • In DataFrame kết quả.

Ví dụ

import pandas as pd
df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]})
df2 = pd.DataFrame({"x": [1, 3], "y": [1, 9], "z": [29, 30]})
print("Input DataFrame 1 is:\n", df1)
print("Input DataFrame 2 is:\n", df2)
df3 = df1.append(df2, ignore_index=True)
print("After appending, DataFrame is: \n", df3)

Kết quả

Input DataFrame 1 is:
   x  y  z
0  5  4  9
1  2  7  3
Input DataFrame 2 is:
   x  y   z
0  1  1  29
1  3  9  30
After appending, DataFrame is:
   x  y   z
0  5  4   9
1  2  7   3
2  1  1  29
3  3  9  30

Bây giờ, hãy dùng tên cột khác nhau cho các dataframe và dùng hàm append() không có tham số ignore_index. Giá trị mặc định của ignore_index là False.

import pandas as pd
df1 = pd.DataFrame({"x": [5, 2], "y": [4, 7], "z": [9, 3]})
df2 = pd.DataFrame({"a": [1, 3], "b": [1, 9], "c": [29, 30]})
print("Input DataFrame 1 is:\n", df1)
print("Input DataFrame 2 is:\n", df2)
df3 = df1.append(df2)
print("After appending, DataFrame is: \n", df3)

Bây giờ, nó sẽ tạo ra đầu ra sau:

Input DataFrame 1 is:
   x  y  z
0  5  4  9
1  2  7  3
Input DataFrame 2 is:
   a  b   c
0  1  1  29
1  3  9  30
After appending, DataFrame is:
     x    y    z   a    b   c
0  5.0  4.0  9.0 NaN  NaN NaN
1  2.0  7.0  3.0 NaN  NaN NaN
0  NaN  NaN  NaN  1.0  1.0 29.0
1  NaN  NaN  NaN  3.0  9.0 30.0