Powiedzmy mam listę wartości,Jak skutecznie wypełnić niekompletną ramkę danych pandy składającą się z parujących kombinacji wartości z listy?
lst=['orange','apple','banana', 'grape', 'lemon']
Mam też dataframe pandy formularza, df
:
Source Destination Weight
orange apple 0.4
banana orange 0.67
grape lemon 0.1
grape banana 0.5
Wiersze są podzbiorem wszystkich par połączeń w LST. Pamiętaj, że każda kombinacja pojawia się najwyżej raz.
Co chcę to nowy dataframe gdzie pozostałe kombinacje są wypełniane o wartości 0.
Na przykład, new_df
:
Source Destination Weight
orange apple 0.4
banana orange 0.67
grape lemon 0.1
grape banana 0.5
orange grape 0.0
orange lemon 0.0
banana lemon 0.0
Kolejność nie robi różnicy.
Co to jest szybki sposób?
Może pójdę gdzie mój mózg bierze mnie. Zyskaj jedną odpowiedź, a następnie szukaj więcej ... patrząc teraz (-: – piRSquared
Dziękuję za odpowiedź! Zauważam, że otrzymujemy duplikaty, na przykład, banan/pomarańcza ma wartość 0.67, ale inny wiersz - pomarańczowy/banan zostanie dodany o wartości 0,0. Czy istnieje sposób, aby nie dodawać tych wierszy? – Melsauce
@Melsauce Nawet o tym nie myślałem ... Będę musiał naprawić lub wymyślić coś innego. kilka minut .. – piRSquared