Prawdopodobnie jest to łatwe, ale mam następujące dane:
W ramce danych 1:
index dat1
0 9
1 5
W ramce danych 2:
index dat2
0 7
1 6
Chcę ramkę danych o następującym formularzu:
index dat1 dat2
0 9 7
1 5 6
Próbowałem użyć tej append
metody, ale otrzymałem sprzężenie krzyżowe (tj. Iloczyn kartezjański).
Jaki jest właściwy sposób, aby to zrobić?
join
metodę?Odpowiedzi:
Ogólnie wydaje się, że szukasz tylko dołączenia:
źródło
pd.concat([dat1, dat2], axis=1)
w tym przypadku.Możesz także użyć:
źródło
InvalidIndexError: Reindexing only valid with uniquely valued Index objects
, możesz użyć:pd.concat([dat1.reset_index(), dat2], axis=1)
Obie
join()
iconcat()
sposób mogą rozwiązać problem. Jest jednak jedno ostrzeżenie, o którym muszę wspomnieć: zresetuj indeks przed tobąjoin()
lubconcat()
jeśli próbujesz poradzić sobie z jakąś ramką danych, wybierając niektóre wiersze z innej ramki DataFrame.Jeden przykład poniżej pokazuje kilka interesujących zachowań łączenia i łączenia:
źródło
W rzeczywistości:
źródło
Tylko kwestia odpowiedniego wyszukiwania w Google:
źródło