python: Verwenden von .iterrows () zum Erstellen von Spalten

8

Ich versuche eine Schleifenfunktion zu verwenden, um eine Matrix zu erstellen, ob ein Produkt in einer bestimmten Woche gesehen wurde.

Jede Zeile in der df (die ein Produkt darstellt) hat ein close_date (das Datum, an dem das Produkt geschlossen wurde) und ein week_diff (die Anzahl der Wochen, in denen das Produkt aufgelistet wurde).

%Vor%

Mein Ziel ist es zu sehen, wie viele alternative Produkte für jedes Produkt in jedem date_range

aufgelistet wurden

Ich habe die folgende Schleife eingerichtet:

%Vor%

Können Sie mir bitte erklären, warum die Zeile "row [col_head] = 1" weder eine Spalte hinzufügt noch einen Wert für diese Spalte zu dieser Spalte hinzufügt.

Zum Beispiel, wenn:

%Vor%

dann möchte ich am liebsten mit

enden %Vor%     
citydreams 16.07.2015, 15:42
quelle

1 Antwort

9

Sie können den df hier nicht mit row mutieren, um eine neue Spalte hinzuzufügen. Sie würden entweder auf das ursprüngliche df verweisen oder .loc , .iloc oder .ix verwenden, Beispiel:

%Vor%

Sie können vorhandene Zeilen ändern:

%Vor%

Das Hinzufügen einer neuen Spalte über die Zeile funktioniert jedoch nicht:

%Vor%     
EdChum 16.07.2015, 17:21
quelle

Tags und Links