Ich habe mich mit der Suche nach einem Weg zur Erweiterung/Klonierung von Beobachtungszeilen auf der Basis einer vorgegebenen Anzahl und einer Gruppierungsvariablen (ID) beschäftigt. Für Kontext ist hier ein Beispiel Datenrahmen mit Pandas und Numpy (Python3).Erweitern Pandas Data Frame Zeilen basierend auf Nummer und Gruppen-ID (Python 3).
df = pd.DataFrame([[1, 15], [2, 20]], columns = ['id', 'num'])
df
Out[54]:
id num
0 1 15
1 2 20
Ich möchte die Zeilen um die Zahl erweitern/klonen, die in der Variablen "num" basierend auf ihrer ID-Gruppe angegeben wird. In diesem Fall würde ich 15 Zeilen für ID = 1 und 20 Zeilen für ID = 2 haben. Das ist wahrscheinlich eine einfache Frage, aber ich habe Mühe, das zu schaffen. Ich habe mit Reindex und Repeat herumgespielt, aber die konzeptionellen Stücke passen nicht zusammen für mich.
In R, habe ich die expandRows Funktion im splitstackshape Paket gefunden, die wie folgt aussehen würde:
library(splitstackshape)
df <- data.frame(id = c(1, 2), num = c(15, 20))
df
id num
1 1 15
2 2 20
df2 <- expandRows(df, "num", drop = FALSE)
df2
id num
1 1 15
1.1 1 15
1.2 1 15
1.3 1 15
1.4 1 15
1.5 1 15
1.6 1 15
1.7 1 15
1.8 1 15
1.9 1 15
1.10 1 15
1.11 1 15
1.12 1 15
1.13 1 15
1.14 1 15
2 2 20
2.1 2 20
2.2 2 20
2.3 2 20
2.4 2 20
2.5 2 20
2.6 2 20
2.7 2 20
2.8 2 20
2.9 2 20
2.10 2 20
2.11 2 20
2.12 2 20
2.13 2 20
2.14 2 20
2.15 2 20
2.16 2 20
2.17 2 20
2.18 2 20
2.19 2 20
wieder, sorry, wenn dies eine dumme Frage und Dank im Voraus für jede Hilfe ist.
Keine dumme Frage. Ist der Index wichtig? Oder ist ein numerischer Index in Ordnung? –