Python: ufunc 'ajouter' ne contient pas une boucle avec la signature de correspondance des types dtype('S21') dtype('S21') dtype('S21')

J'ai deux dataframes, qui ont tous deux un Order ID et un date.

Je voulais ajouter un drapeau dans la première dataframe df1: si un enregistrement avec le même order id et date est dans dataframe df2, puis ajouter un Y:

[ df1['R'] = np.where(orders['key'].isin(df2['key']), 'Y', 0)]

Pour y parvenir, j'allais créer une clé, qui serait la concaténation de la order_id et date, mais quand j'ai essayer le code suivant:

df1['key']=df1['Order_ID']+'_'+df1['Date']

J'obtiens cette erreur

ufunc 'add' did not contain a loop with signature matching types dtype('S21') dtype('S21') dtype('S21')

df1 ressemble à ceci:

Date | Order_ID | other data points ... 
201751 4395674  ...
201762 3487535  ...

Ce sont les types de données:

df1.info()
RangeIndex: 157443 entries, 0 to 157442
Data columns (total 6 columns):
Order_ID                                 157429 non-null object
Date                                     157443 non-null int64
...
dtypes: float64(2), int64(2), object(2)
memory usage: 7.2+ MB

df1['Order_ID'].values
array(['782833030', '782834969', '782836416', ..., '783678018',
       '783679806', '783679874'], dtype=object)
InformationsquelleAutor jeangelj | 2017-06-13