Mysql
 sql >> база данни >  >> RDS >> Mysql

Присъединете се към рамки с данни на pandas въз основа на стойности на колони

Мисля, че имате нужда от merge с inner по подразбиране присъединяване, но е необходимо да няма дублирани комбинации от стойности в двете колони:

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

Но ако е необходимо position колона в позиция 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. преобразуване на времеви печат към дата в java

  2. MySQL WHERE:как да напиша !=или не е равно?

  3. Каква е разликата между MySQLdb, mysqlclient и MySQL конектор/Python?

  4. EXPLAIN и COUNT връщат две различни стойности

  5. Името запазена дума ли е в MySQL?