Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bergabunglah dengan kerangka data panda berdasarkan nilai kolom

Saya rasa Anda perlu merge dengan default inner gabung, tetapi tidak perlu ada kombinasi nilai yang digandakan di kedua kolom:

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

Tapi jika perlu position kolom pada posisi 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. Cara menulis kueri Gabung MySQL

  2. kueri kompleks membutuhkan terlalu banyak waktu untuk mentransfer

  3. Query Mysql untuk Memisahkan String yang dibatasi ruang Ubah menjadi 2 kolom

  4. berikan akses jarak jauh database MySQL dari alamat IP mana pun

  5. Oracle - Kesalahan:'ORA-01400:tidak dapat memasukkan NULL ke dalam