Ho due dataframes, la prima ha 1000 righe e si presenta come:sostituire i valori di colonna in una dataframe dai valori di un'altra dataframe
Date Group Family Bonus
2011-06-09 tri23_1 Laavin 456
2011-07-09 hsgç_T2 Grendy 679
2011-09-10 bbbj-1Y_jn Fantol 431
2011-11-02 hsgç_T2 Gondow 569
La colonna Group
ha valori diversi, a volte ripetuto, ma in generale su 50 valori unici.
Il secondo dataframe contiene tutti questi 50 valori unici (50 righe) e anche le strutture, che sono associati a questi valori:
Group Hotel
tri23_1 Jamel
hsgç_T2 Frank
bbbj-1Y_jn Luxy
mlkl_781 Grand Hotel
vchs_94 Vancouver
Il mio obiettivo è quello di sostituire il valore nella colonna Group
del primo dataframe dai valori corrispondenti della colonna Hotel
del secondo dataframe/o creare la colonna Hotel
con i valori corrispondenti. Quando provo a farlo solo con l'assegnazione come
df1.loc[(df1.Group=df2.Group), 'Hotel']=df2.Hotel
ho un errore che i dataframes non sono di pari dimensioni, in modo che il confronto non è possibile
quando faccio questo, ricevo un messaggio di errore, qualche idea del perché? InvalidIndexError: Reindexing valido solo con oggetti Index con valore univoco – mkheifetz
Se non si dispone di valori univoci nella colonna, non è possibile impostare l'indice su di esso – EdChum
hmmm, quindi cosa devo fare se ho un enorme dataframe dove voglio tutti le colonne (le colonne non sono univoche come hai appena dichiarato tu stesso) per raccogliere i valori che corrispondono ai valori in una colonna in un altro dataframe? – mkheifetz