Tôi cần ghép hai dataframes df_a
và df_b
có số hàng bằng nhau (nRow
) cái khác mà không xem xét bất kỳ khóa nào. Hàm này tương tự như cbind
trong R programming language
. Số cột trong mỗi khung dữ liệu có thể khác nhau.Ghép nối các hàng của hai khung dữ liệu trong gấu trúc
Khung dữ liệu kết quả sẽ có cùng số hàng nRow
và số lượng cột bằng tổng số cột trong cả hai khung dữ liệu. Nói cách khác, đây là sự nối hai cột mù của hai khung dữ liệu.
import pandas as pd
dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz':[500.0, 500.5, 501.0]}
df_a = pd.DataFrame(dict_data)
dict_data = {'Treatment1': ['C', 'C', 'C'], 'Biorep1': ['A', 'A', 'A'], 'Techrep1': [1, 1, 1], 'AAseq1': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte1':[1100.0, 1050.0, 1010.0]}
df_b = pd.DataFrame(dict_data)
Không chắc tại sao, trên dữ liệu thực tế của tôi, có 1000 dòng trong mỗi df, 'concat' mang lại cho tôi 2000 hàng nhưng' join' hoạt động tốt. Ví dụ dữ liệu, cả hai đều làm việc tốt tinh tế – user1140126
Kiểm tra nếu bạn có bất kỳ xung đột tên cột nào bạn có thể kiểm tra điều này bằng cách thực hiện 'df_a.columns.equals (df_b.columns)' – EdChum
Thực ra bạn cần kiểm tra xem các giá trị chỉ mục có phù hợp nếu chúng không ' t sau đó bạn sẽ nhận được các hàng bổ sung như bạn quan sát, bạn có thể cần phải làm 'df_b = df_b.reindex_like (df_a)' trước khi ghép nối – EdChum