Tôi chắc chắn thiếu một cái gì đó đơn giản ở đây. Cố gắng hợp nhất hai dataframes trong gấu trúc có hầu hết các tên cột giống nhau, nhưng khung dữ liệu bên phải có một số cột bên trái không có và ngược lại.Pandas hợp nhất hai dataframes với các cột khác nhau
>df_may
id quantity attr_1 attr_2
0 1 20 0 1
1 2 23 1 1
2 3 19 1 1
3 4 19 0 0
>df_jun
id quantity attr_1 attr_3
0 5 8 1 0
1 6 13 0 1
2 7 20 1 1
3 8 25 1 1
Tôi đã thử tham gia với một bên ngoài tham gia:
mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer")
Nhưng đó sản lượng:
Left data columns not unique: Index([....
Tôi cũng đã chỉ định một cột duy nhất để tham gia vào (on = " id ", vd), nhưng trùng lặp tất cả các cột ngoại trừ" id "như attr_1_x, attr_1_y, không phải là lý tưởng. Tôi cũng đã vượt qua toàn bộ danh sách các cột (có rất nhiều) để "on":
mayjundf = pd.DataFrame.merge(df_may, df_jun, how="outer", on=list(df_may.columns.values))
nào mang lại:
ValueError: Buffer has wrong number of dimensions (expected 1, got 2)
tôi thiếu gì? Tôi muốn nhận được một df với tất cả các hàng được nối thêm, và attr_1, attr_2, attr_3 đông dân nơi có thể, NaN nơi chúng không hiển thị. Điều này có vẻ giống như một luồng công việc khá điển hình cho việc nén dữ liệu, nhưng tôi bị kẹt.
Xin cảm ơn trước.
Tôi nghĩ rằng bạn muốn 'mayjundf = pd .DataFrame.merge (df_may, df_jun, how = "outer", on = 'id') ' – EdChum
Bạn đã chỉ định" how "hai lần, yields: SyntaxError: đối số từ khóa lặp lại – economy
Thực ra tôi nghĩ bạn muốn:' pd.concat ([df_may, df_jun], trục = 0, bỏ qua_index = Đúng) ' – EdChum