< /th>
Element < /th>
Menge < /th>
Verwandte Elemente < /th>
Verwandte Mengen < /th>
< /tr> < /thead>
0 < /td>
Blüten < /td>
< td> 1
['büsche']
{'büsche': 2}
1 < /td>
Büsche < /td>
2 < /td>
[ 'Blumen'] < /td>
{'Blumen': 1} < /td>
< /tr>
2 < /td>
cars < /td>
3 < /td>
['Trucks', 'Motorcycles'] < /td>
{'Trucks': 4, 'Motorcycles': 5} < /td>
< /tr>
3 < /td>
Trucks < /td>
4 < /td>
['Cars', 'Motorcycles'] < /td>
{ 'Cars': 3, 'Motorcycles': 5} < /td>
< /tr>
4 < /td>
Motorräder < /td>
5 < /td>
['Cars', 'Trucks'] < /td>
{'Cars': 3 , 'Trucks': 4}
Die Werte in der Wörterbücher werden als Eingabe einer Funktion verwendet, um eine weitere Spalte später zu generieren. Mit welchem ich die Spalte mit iTerrows () und a für Schleife ausfüllen konnte:
Code: Select all
dictionary = {item : df.loc[df['Item'] == item,['Quantity']][idx] for item in related_items_list}
, aber ich versuche stattdessen etwas mit df.apply () zu machen in der Hoffnung, dass es leistungsfähiger sein wird. Gibt es eine Möglichkeit, die in Application () auf den gesamten Datenrahmen aufgerufene Funktion anstelle der an sie übergebenen Zeile zugreifen zu können? . Ist der Versuch, Apply () für die Leistung zu verwenden, Zeitverschwendung? Sollte ich nur eine Schleife verwenden, um die "Menge" Daten direkt in die Funktion zu füttern, anstatt diese Spalte überhaupt zu erstellen? Ich mache mir Sorgen, dass die Leistung auch < /p>
bearbeiten < /h1>
Danke. Es sieht so aus, als ob to_dict () etwas schneller ist als das Suchdikte mit einer für Schleife zu machen. < /P>
Code: Select all
number of rows in df:
704400
Testing with 100 iterations:
time of 'for item,qty in zip of two columns' method:
19.455784299999998
time of 'df.set_index(col1)[col2].to_dict()' method:
11.409341199999997