Làm thế nào để bạn nối hai khung dữ liệu theo chiều ngang trong python?

Chúng tôi sử dụng dataframes trong python để xử lý và phân tích dữ liệu dạng bảng trong python. Trong bài viết này, chúng tôi sẽ thảo luận về cách chúng tôi có thể nối hai hoặc nhiều khung dữ liệu trong python

Làm cách nào để nối các khung dữ liệu trong Python?

Để nối hai hoặc nhiều khung dữ liệu trong python, chúng ta có thể sử dụng phương thức concat[] được xác định trong mô-đun pandas. Phương thức concat[] lấy một danh sách các khung dữ liệu làm đối số đầu vào của nó và nối chúng theo chiều dọc

Chúng ta cũng có thể nối các khung dữ liệu trong python theo chiều ngang bằng cách sử dụng tham số axis của phương thức concat[]. Tham số axis có giá trị mặc định là 0, biểu thị rằng các khung dữ liệu sẽ được nối theo chiều dọc. Nếu bạn muốn nối các khung dữ liệu theo chiều ngang, bạn có thể chuyển giá trị 1 cho tham số trục

Sau khi thực hiện, phương thức concat[] sẽ trả về khung dữ liệu kết quả

Nối các khung dữ liệu theo chiều dọc trong python

Để nối hai khung dữ liệu theo chiều dọc trong python, trước tiên bạn cần nhập mô-đun pandas bằng câu lệnh nhập. Sau đó, bạn có thể nối các khung dữ liệu bằng cách sử dụng phương pháp concat[] như sau

import numpy as np
import pandas as pd
df1=pd.read_csv["grade1.csv"]
print["First dataframe is:"]
print[df1]
df2=pd.read_csv["grade2.csv"]
print["second dataframe is:"]
print[df2]
df3=pd.concat[[df1,df2]]
print["Merged dataframe is:"]
print[df3]

đầu ra

First dataframe is:
   Class  Roll    Name  Marks Grade
0      1    11  Aditya     85     A
1      1    12   Chris     95     A
2      1    14     Sam     75     B
3      1    16  Aditya     78     B
4      1    15   Harry     55     C
5      2     1    Joel     68     B
6      2    22     Tom     73     B
7      2    15    Golu     79     B
second dataframe is:
   Class  Roll        Name  Marks Grade
0      2    27       Harsh     55     C
1      2    23       Clara     78     B
2      3    33        Tina     82     A
3      3    34         Amy     88     A
4      3    15    Prashant     78     B
5      3    27      Aditya     55     C
6      3    23  Radheshyam     78     B
7      3    11       Bobby     50     D
Merged dataframe is:
   Class  Roll        Name  Marks Grade
0      1    11      Aditya     85     A
1      1    12       Chris     95     A
2      1    14         Sam     75     B
3      1    16      Aditya     78     B
4      1    15       Harry     55     C
5      2     1        Joel     68     B
6      2    22         Tom     73     B
7      2    15        Golu     79     B
0      2    27       Harsh     55     C
1      2    23       Clara     78     B
2      3    33        Tina     82     A
3      3    34         Amy     88     A
4      3    15    Prashant     78     B
5      3    27      Aditya     55     C
6      3    23  Radheshyam     78     B
7      3    11       Bobby     50     D

Nếu tất cả các khung dữ liệu có cùng số cột và tên cột cũng giống nhau, thì khung dữ liệu kết quả có cùng số cột với các khung dữ liệu đầu vào. Bạn có thể quan sát điều này trong ví dụ trên

Tuy nhiên, nếu một khung dữ liệu có số lượng cột ít hơn các khung dữ liệu khác, giá trị tương ứng trong khung dữ liệu kết quả cho cột đó sẽ là NaN cho các hàng thu được từ khung dữ liệu. Bạn có thể quan sát điều này trong ví dụ sau

import numpy as np
import pandas as pd
df1=pd.read_csv["grade_with_roll.csv"]
print["First dataframe is:"]
print[df1]
df2=pd.read_csv["grade_with_name.csv"]
print["second dataframe is:"]
print[df2]
df3=pd.concat[[df1,df2]]
print["Merged dataframe is:"]
print[df3]

đầu ra

First dataframe is:
   Roll  Marks Grade
0    11     85     A
1    12     95     A
2    13     75     B
3    14     75     B
4    16     78     B
5    15     55     C
6    20     72     B
7    24     92     A
second dataframe is:
   Roll      Name  Marks Grade
0    11    Aditya     85     A
1    12     Chris     95     A
2    13       Sam     75     B
3    14      Joel     75     B
4    16       Tom     78     B
5    15  Samantha     55     C
6    20      Tina     72     B
7    24       Amy     92     A
Merged dataframe is:
   Roll  Marks Grade      Name
0    11     85     A       NaN
1    12     95     A       NaN
2    13     75     B       NaN
3    14     75     B       NaN
4    16     78     B       NaN
5    15     55     C       NaN
6    20     72     B       NaN
7    24     92     A       NaN
0    11     85     A    Aditya
1    12     95     A     Chris
2    13     75     B       Sam
3    14     75     B      Joel
4    16     78     B       Tom
5    15     55     C  Samantha
6    20     72     B      Tina
7    24     92     A       Amy

Nếu các khung dữ liệu có các tên cột khác nhau, thì mỗi tên cột được gán một cột riêng trong khung dữ liệu kết quả. Ngoài ra, giá trị tương ứng trong khung dữ liệu kết quả cho cột đó sẽ là NaN cho các hàng mà khung dữ liệu thu được không có cột được chỉ định

cách đọc được đề nghị. Nếu bạn thích học máy, bạn có thể đọc bài viết này về hồi quy trong học máy. Bạn cũng có thể thích bài viết này về phân cụm k-means với ví dụ số

Nối các khung dữ liệu theo chiều ngang trong Python

Để nối các khung dữ liệu theo chiều ngang, chúng tôi sẽ sử dụng tham số trục và cung cấp giá trị 1 làm đầu vào của nó trong phương thức concat[]. Sau khi thực hiện, phương thức concat[] sẽ trả về khung dữ liệu được nối theo chiều ngang như hình bên dưới

import numpy as np
import pandas as pd
df1=pd.read_csv["grade_with_roll.csv"]
print["First dataframe is:"]
print[df1]
df2=pd.read_csv["grade_with_name.csv"]
print["second dataframe is:"]
print[df2]
df3=pd.concat[[df1,df2],axis=1]
print["Merged dataframe is:"]
print[df3]

đầu ra

First dataframe is:
   Roll  Marks Grade
0    11     85     A
1    12     95     A
2    13     75     B
3    14     75     B
4    16     78     B
5    15     55     C
6    20     72     B
7    24     92     A
second dataframe is:
   Roll      Name  Marks Grade
0    11    Aditya     85     A
1    12     Chris     95     A
2    13       Sam     75     B
3    14      Joel     75     B
4    16       Tom     78     B
5    15  Samantha     55     C
6    20      Tina     72     B
7    24       Amy     92     A
Merged dataframe is:
   Roll  Marks Grade  Roll      Name  Marks Grade
0    11     85     A    11    Aditya     85     A
1    12     95     A    12     Chris     95     A
2    13     75     B    13       Sam     75     B
3    14     75     B    14      Joel     75     B
4    16     78     B    16       Tom     78     B
5    15     55     C    15  Samantha     55     C
6    20     72     B    20      Tina     72     B
7    24     92     A    24       Amy     92     A

Nếu các khung dữ liệu đang được nối có cùng số lượng bản ghi, thì khung dữ liệu kết quả sẽ không có bất kỳ giá trị NaN nào như trong ví dụ trên. Tuy nhiên, nếu một khung dữ liệu có số lượng hàng ít hơn khung dữ liệu khác, thì khung dữ liệu kết quả sẽ có các giá trị NaN. Điều này xảy ra khi tham số nối được đặt thành “bên ngoài”

Sự kết luận

Trong bài viết này, chúng tôi đã thảo luận về cách nối hai khung dữ liệu gấu trúc trong python. Để nối nhiều hơn hai khung dữ liệu, bạn chỉ cần thêm khung dữ liệu vào danh sách các khung dữ liệu được cung cấp làm đầu vào cho phương thức concat[]

Để tìm hiểu thêm về lập trình python, bạn có thể đọc bài viết này về hiểu từ điển trong python. Bạn cũng có thể thích bài viết này về hiểu danh sách trong python

Có liên quan

Đào tạo Python được đề xuất

Khóa học. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

3 cách chính để kết hợp DataFrames với nhau là gì?

Việc nối hai DataFrame có thể được thực hiện theo nhiều cách [ trái, phải và bên trong ] tùy thuộc vào dữ liệu phải có trong DataFrame cuối cùng. to_csv có thể được sử dụng để ghi DataFrames ở định dạng CSV.

Chúng ta có thể hợp nhất hai DataFrames trong Python không?

Hàm hợp nhất Pandas DataFrame[] được sử dụng để hợp nhất hai đối tượng DataFrame bằng thao tác nối kiểu cơ sở dữ liệu . Việc nối được thực hiện trên các cột hoặc chỉ mục. Nếu việc nối được thực hiện trên các cột, các chỉ mục sẽ bị bỏ qua. Hàm này trả về một DataFrame mới và các đối tượng DataFrame nguồn không thay đổi.

Chủ Đề