Einfacher SVERWEIS mit Pandas - stehe auf dem Schlauch
Verfasst: Samstag 8. Januar 2022, 23:49
Liebes Forum,
Da ich neu hier bin erstmal vielen Dank für die Aufnahme.
Kurz zu mir: Ich bin noch Neuling was Python und andere Programmiersprachen betrifft und bisher zumeist Einzelkämpfer.
Stackoverflow mag zwar gut sein aber manchmal steige ich da nicht so wirklich durch und da ich auf mein vermutlich simples Problem noch keine Antwort gefunden muss ich dieses wohl nun mal selber ausformulieren und hoffe dass ich mich hier künftig einbringen kann bzw. von euch lernen kann.
Ich habe ein großes Datenset (csv.-file) und will nun in einem Pandas Dataframe 1 Spalte hinzufügen. Wie das geht weiß ich, es geht jedoch um den Inhalt der Spalte.
Das Datenset sieht quasi wie folgt aus und ist aufsteigend nach Datum sortiert.
Name | Datum | Neue Spalte
Alpha | 01.01.19 |
Beta | 01.01.18 |
Alpha | 01.01.21 |
Beta | 01.01.20 |
Alpha | 01.01.17 |
In der neuen Spalte würde ich nun gerne ganz simpel das früheste Datum für den jeweiligen Namen ausgeben.
Für Alpha also immer der 01.01.17 und für Beta immer der 01.01.18.
Ich habe mir das ganze Dataframe dann aufsteigen nach Datum sortiert.
Meine neue Spalte habe ich wie folgt integriert:
dataframe["Neue Spalte"] = dataframe["Datum"].iloc[0]
Das ist natürlich falsch da mir für alle Einträge der Eintrag mit Index 0 in der Spalte angezeigt wird.
Wenn aufsteigend sortiert dann ist das also immer der 01.01.17.
Ich habe jedoch keine Ahnung wie man iteriert / loops ausführt etc. Und hier komme ich trotz Google, Stackoverflow etc. nicht weiter wobei die Lösung bestimmt total einfach ist. Im Endeffekt brauche ich für die Spalte ja nur einen SVERWEIS mit Suchkriterium "Name" und Spaltenindex "2". Da vorab und anschließend noch weitere Berechnungen folgen (Lasso Regression etc.) brauche ich es aber in Python und nicht in Excel.
Über etwas Hilfestellung wäre ich dankbar.
Beste Grüße
Chris
Da ich neu hier bin erstmal vielen Dank für die Aufnahme.
Kurz zu mir: Ich bin noch Neuling was Python und andere Programmiersprachen betrifft und bisher zumeist Einzelkämpfer.
Stackoverflow mag zwar gut sein aber manchmal steige ich da nicht so wirklich durch und da ich auf mein vermutlich simples Problem noch keine Antwort gefunden muss ich dieses wohl nun mal selber ausformulieren und hoffe dass ich mich hier künftig einbringen kann bzw. von euch lernen kann.
Ich habe ein großes Datenset (csv.-file) und will nun in einem Pandas Dataframe 1 Spalte hinzufügen. Wie das geht weiß ich, es geht jedoch um den Inhalt der Spalte.
Das Datenset sieht quasi wie folgt aus und ist aufsteigend nach Datum sortiert.
Name | Datum | Neue Spalte
Alpha | 01.01.19 |
Beta | 01.01.18 |
Alpha | 01.01.21 |
Beta | 01.01.20 |
Alpha | 01.01.17 |
In der neuen Spalte würde ich nun gerne ganz simpel das früheste Datum für den jeweiligen Namen ausgeben.
Für Alpha also immer der 01.01.17 und für Beta immer der 01.01.18.
Ich habe mir das ganze Dataframe dann aufsteigen nach Datum sortiert.
Meine neue Spalte habe ich wie folgt integriert:
dataframe["Neue Spalte"] = dataframe["Datum"].iloc[0]
Das ist natürlich falsch da mir für alle Einträge der Eintrag mit Index 0 in der Spalte angezeigt wird.
Wenn aufsteigend sortiert dann ist das also immer der 01.01.17.
Ich habe jedoch keine Ahnung wie man iteriert / loops ausführt etc. Und hier komme ich trotz Google, Stackoverflow etc. nicht weiter wobei die Lösung bestimmt total einfach ist. Im Endeffekt brauche ich für die Spalte ja nur einen SVERWEIS mit Suchkriterium "Name" und Spaltenindex "2". Da vorab und anschließend noch weitere Berechnungen folgen (Lasso Regression etc.) brauche ich es aber in Python und nicht in Excel.
Über etwas Hilfestellung wäre ich dankbar.
Beste Grüße
Chris