Verwendung .to_numpy () bestimmte Spalten aus einer Zeile des Panda-Datenrahmen zu einem anderen zu kopieren

stimmen
0

Ich habe einen Datenrahmen wie folgt aus:

     UniqueID  CST  WEIGHT  VOLUME  PRODUCTIVITY
0  413-20012    3     123      12          1113
1  413-45365    1     889      75          6748
2  413-21165    8     554      13          4536
3  413-24354    1     387      35          7649
4  413-34658    2     121      88          2468
5  413-36889    4     105      76          3336
6  413-23457    5     355      42          7894
7  413-30089    5     146      10          9112
8  413-41158    5     453      91          4545
9  413-51015    9     654      66          2232

Und ich habe ein Wörterbuch der Eltern: Kind Mappings für die UniqueID ist:

parent_child_dict = {
    '413-51015': '413-41158',
    '413-21165': '413-23457',
    '413-45365': '413-41158',
    '413-20012': '413-23457'
}

Was ich tun müssen, ist eine Schleife durch die Datenrahmen, und ersetzen Sie das Gewicht, Volumen und Produktivitätswerte des ‚Kind‘ UniqueID Reihe mit den Werten aus der ‚Eltern‘ UniqueID Reihe, wo sich ergebende Datenrahmen würde wie folgt aussehen:

     UniqueID  CST  WEIGHT  VOLUME  PRODUCTIVITY
0  413-20012    3     355      42          7894
1  413-45365    1     453      91          4545
2  413-21165    8     355      42          7894
3  413-24354    1     387      35          7649
4  413-34658    2     121      88          2468
5  413-36889    4     105      76          3336
6  413-23457    5     355      42          7894
7  413-30089    5     146      10          9112
8  413-41158    5     453      91          4545
9  413-51015    9     453      91          4545

Ich habe mit mehreren möglichen Lösungen experimentiert, und die Mühe, die ich habe, ist die Kopie in einer solchen Art und Weise zu begrenzen, dass die UniqueID und die CST-Werte des ‚Kind‘ Reihe werden beibehalten, aber die anderen Werte werden kopiert.

Der nächstgelegene ich bekommen habe, ist eine Schleife durch das Wörterbuch, in dem jede Paarung in diese eingespeist wird:

df.loc[df['UniqueID'] == '413-51015'] = df.loc[df['UniqueID'] == '413-41158'].to_numpy()

Dies scheint zu schön alle Werte von einer Zeile zur anderen zu ersetzen.

Jede Hilfe zu den Ausnahmen oder eine bessere Lösung insgesamt wäre sehr hilfreich. Vielen Dank.

Veröffentlicht am 19/03/2020 um 22:01
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more