sql >> データベース >  >> RDS >> Mysql

列の値に基づいてパンダのデータフレームを結合します

    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. SQLSTATE [HY093]:mysqldbへの挿入中のpdoステートメント

    2. mysqlで一括コピーを行うことは可能ですか?

    3. iPhoneアプリケーションMysqlデータベースからデータを取得する

    4. スクリプトを使用してExcelシートを一時テーブルに取得します