Wie der Titel sagt, versuche ich eine Funktion über jedes Paar von Spalten eines Datenrahmens unter bestimmten Bedingungen anwenden. Ich werde versuchen, das zu veranschaulichen. My df ist von der Form:Pandas: Übernehmen Sie Funktion über jedes Paar von Spalten unter Einschränkungen
Code | 14 | 17 | 19 | ...
w1 | 0 | 5 | 3 | ...
w2 | 2 | 5 | 4 | ...
w3 | 0 | 0 | 5 | ...
Der Code entspricht eine bestimmte Stelle in einem rechteckigen Gitter und der ws sind verschiedene Worte. Ich würde gerne Cosinus Ähnlichkeitsmaß zwischen jedem Paar von Spalten nur (EDITED!)anwenden, wenn die Summe der Elemente in einer der Spalten des Paares ist größer als 5.
Die gewünschte Ausgabe wäre etwas wie:
| [14,17] | [14,19] | [14,...] | [17,19] | ...
Sim |cs(14,17) |cs(14,19) |cs(14,...) |cs(17,19)..| ...
cs das Ergebnis der Cosinus-Ähnlichkeit für jedes Paar von Spalten ist. Gibt es eine geeignete Methode, dies zu tun?
Jede Hilfe :-)
Wenn ich es gerade bekommen, würden Sie nicht 'cs wollen (14,17)' 'noch cs (14,19)' usw., weil es in der kein Element ist '14' Spalte, die größer als 5 ist. Und hast du irgendwas versucht? Könnten Sie bitte Code und Beispiele angeben, die fehlgeschlagen sind? – danielhadar
Hallo, @danielhadar. Bisher habe ich nur wenige Berechnungen von Hand gemacht. Ich frage, ob es irgendeine Methode gibt, um Funktionen (Kosinusähnlichkeit in diesem Fall, aber ich werde mehr Funktionen anwenden) vektoriell auf jedes Spaltenpaar anzuwenden, d. H. Ohne Schleifen über Spalten zu schreiben. Der Build des letzten df soll nur eine bessere Visualisierung des Ergebnisses haben, aber es ist nicht wichtig. –