Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nối khung dữ liệu gấu trúc dựa trên giá trị cột

Tôi nghĩ bạn cần merge với inner mặc định tham gia, nhưng cần thiết, không có sự kết hợp trùng lặp của các giá trị trong cả hai cột:

print (df2)
   item_id  document_id col1  col2  col3
0      337           10    s     4     7
1     1002           11    d     5     8
2     1003           11    f     7     0

df = pd.merge(df1, df2, on=['document_id','item_id'])
print (df)
   item_id  position  document_id col1  col2  col3
0      337         2           10    s     4     7
1     1002         2           11    d     5     8
2     1003         3           11    f     7     0

Nhưng nếu cần position cột ở vị trí 3 :

df = pd.merge(df2, df1, on=['document_id','item_id'])
cols = df.columns.tolist()
df = df[cols[:2] + cols[-1:] + cols[2:-1]]
print (df)
   item_id  document_id  position col1  col2  col3
0      337           10         2    s     4     7
1     1002           11         2    d     5     8
2     1003           11         3    f     7     0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Độ dài tối đa của tên bảng trong MySQL

  2. Làm cách nào để sử dụng toán tử IN nhưng với điều kiện AND

  3. mysql SQL:mục cụ thể được xếp đầu tiên và sau đó sắp xếp phần còn lại của các mục

  4. Làm cách nào để sử dụng tính năng băm mật khẩu với PDO để làm cho mã của tôi an toàn hơn?

  5. Điều kiện WHERE trong MySQL với 16 ví dụ truy vấn khác nhau