sql >> Database teknologi >  >> RDS >> Mysql

Deltag i panda-datarammer baseret på kolonneværdier

Jeg tror, ​​du skal merge med standard inner join, men er nødvendigt ingen duplikerede kombinationer af værdier i begge kolonner:

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

Men om nødvendigt position kolonne i 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. Hvorfor fejler forespørgslen ikke med en ikke-eksisterende kolonne i underforespørgsel?

  2. Spring Boot with Hibernate:Autogenerer databaseskema med kolonner, der kan rumme brøkdele af sekunder

  3. Hvordan skal jeg importere data fra CSV til en Postgres-tabel ved hjælp af pgAdmin 3?

  4. Kombinerer to forespørgsler til én