Hallo Forum,
ich bekomme es einfach nicht hin:
Ich habe zwei DataFrames (Pandas) mit
DF1: Spalte1 | Spalte2 | Spalte3
Datum1 xyz
Datum2
Datum3
DF2: DritteDimension1 DritteDimension2 DritteDimension3
Spalte1 abc
Spalte2
Spalte3
als Ergebnis einer Multiplikation der Werte hätte ich gerne:
MultiIndexDF: Spalte1 Spalte2 Spalte 3
DritteDimension1, Datum1 (xyz*abc)
Datum2
Datum3
DritteDimension2, Datum1
Datum2
Datum3
Wie kriege ich das hin?
Multiplikation zweier DataFrames mit Multiindex
Hallo @psysxet
ehrlich gesagt habe ich nicht ganz verstanden, was Du tun möchtest. Da ich selbst noch Anfänger bin, mag das aber auch daran liegen.
Wäre es ggf. möglich, dass Du die DataFrames mit ein paar wenigen synthetischen Daten mal in ein Code-Schnipsel packst?
ehrlich gesagt habe ich nicht ganz verstanden, was Du tun möchtest. Da ich selbst noch Anfänger bin, mag das aber auch daran liegen.
Wäre es ggf. möglich, dass Du die DataFrames mit ein paar wenigen synthetischen Daten mal in ein Code-Schnipsel packst?
na klar, gerne:
DF1 beinhaltet die Anzahl an Kontrakten zu einem ETF, getrennt nach Fonds:
DF2 beeinhaltet den historischen Schlusskurs eines ETF zu einem Datum.
Nun, wie man sich mittlerweile wahrscheinlich denken kann, möchte ich, nach Fonds getrennt, die Anzahl Kontrakte mit dem Schlusskurs multiplizieren. Erhalte dadurch den Wert der ETF Position, aufgeschlüsselt nach FOND. Das hätte ich gerne als Ergebnis:
usw.
Hintergrund ist ganz einfach: Kaufe ich im Depot 10 DAX Kontrakte, 7 davon für mich, 3 davon für meine Freundin, so wird mir diese Position summiert aufgezeigt. Es gibt keine Möglichkeit in meinem Broker einzelne Positionen zu gruppieren. Das ist natürlich ätzend.
DF1 beinhaltet die Anzahl an Kontrakten zu einem ETF, getrennt nach Fonds:
Code: Alles auswählen
DF1.Index:
Index(['iShares Core DAX UCITS', 'Amundi ETF Nasdaq-100 UCITS',
'iShares MSCI World UCITS Dist', 'Source MSCI World UCITS',
'iShares MSCI Russia Adr/Gdr UCITS', 'iShares TecDAX UCITS',
'iShares Core MSCI Emerging Markets IMI UCITS',
'Lyxor STOXX Europe 600 DR Monthly Hedged D-EUR',
'iShares Listed Private Equity UCITS'])
Code: Alles auswählen
DF1.Columns:
Index(['HeikeFonds', 'RobinFondsVol2', 'HochzeitFonds', 'RobinFondsVol1',
'RobinETFplan', 'HeikeFondsVol2']
Code: Alles auswählen
DF2.Index:
DatetimeIndex(['2021-09-20', '2021-09-17', '2021-09-16', '2021-09-15',
'2021-09-14', '2021-09-13', '2021-09-10', '2021-09-09',
'2021-09-08', '2021-09-07',
...
'2020-01-15', '2020-01-14', '2020-01-13', '2020-01-10',
'2020-01-09', '2020-01-08', '2020-01-07', '2020-01-06',
'2020-01-03', '2020-01-02']
Code: Alles auswählen
DF2.columns:
Index(['iShares Core DAX UCITS', 'Amundi ETF Nasdaq-100 UCITS',
'iShares MSCI World UCITS Dist', 'Source MSCI World UCITS',
'iShares MSCI Russia Adr/Gdr UCITS', 'iShares TecDAX UCITS',
'iShares Core MSCI Emerging Markets IMI UCITS',
'Lyxor STOXX Europe 600 DR Monthly Hedged D-EUR'])
Code: Alles auswählen
HeikeFonds
['iShares Core DAX UCITS', 'Amundi ETF Nasdaq-100 UCITS',
'iShares MSCI World UCITS Dist', 'Source MSCI World UCITS',
'iShares MSCI Russia Adr/Gdr UCITS', 'iShares TecDAX UCITS',
'iShares Core MSCI Emerging Markets IMI UCITS',
'Lyxor STOXX Europe 600 DR Monthly Hedged D-EUR']
RobinFondsVol2
['iShares Core DAX UCITS', 'Amundi ETF Nasdaq-100 UCITS',
'iShares MSCI World UCITS Dist', 'Source MSCI World UCITS',
'iShares MSCI Russia Adr/Gdr UCITS', 'iShares TecDAX UCITS',
'iShares Core MSCI Emerging Markets IMI UCITS',
'Lyxor STOXX Europe 600 DR Monthly Hedged D-EUR']
Hintergrund ist ganz einfach: Kaufe ich im Depot 10 DAX Kontrakte, 7 davon für mich, 3 davon für meine Freundin, so wird mir diese Position summiert aufgezeigt. Es gibt keine Möglichkeit in meinem Broker einzelne Positionen zu gruppieren. Das ist natürlich ätzend.
Ahja, ich verstehe langsam meine Verwirrung. Ich habe bisher den Begriff "MultiIndex" falsch benutzt. Was ich meinte ist eigentlich: Ein Panda mit einem MultiIndex.
Den Multiindex konnte ich nun erstellen via:
historischer_wert_index=pd.MultiIndex.from_product([DF1,DF2.T], names = ['Fonds','Date'])
Wie setze ich nun einem neuen DataFrame diesen Index zu und fülle die Werte mit dem Produkt aus DF1 und DF2 ?
Den Multiindex konnte ich nun erstellen via:
historischer_wert_index=pd.MultiIndex.from_product([DF1,DF2.T], names = ['Fonds','Date'])
Wie setze ich nun einem neuen DataFrame diesen Index zu und fülle die Werte mit dem Produkt aus DF1 und DF2 ?
Zur Info: Das Thema kann zu, ich habe es einfach nicht geschafft und aufgegeben. Ich habe es jetzt über dictories gelöst, die DF werden jetzt in Excel zwischengespeichert.
Multiindex werde ich einfach niemals verstehen.
Multiindex werde ich einfach niemals verstehen.