DataFrame Werte Zählen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
xmelfoyx
User
Beiträge: 11
Registriert: Mittwoch 24. November 2021, 12:49

Hallo zusammen,

ich schildere euch mein Problem.
Ich hab ein DataFrame gegeben bsp: mit den Werten

Name | Anz | zahl | Datum
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-15
Tim |1 | 2 | 2020-03-15


Jetzt sollen die Werte als Summe in "Anz" und "zahl" in abhängigkeit zum Datum gebildet werden und in ein neues DataFrame erzeugt werden.

Name | Anz | zahl | Datum
Tim |3 | 6 | 2020-03-14
Tim |2 | 4 | 2020-03-15

Gehen wir also von dieser ausgangslage aus

Code: Alles auswählen

import pandas as pd

df = pd.DataFrame({
                    'Name': [
                        'Tim',
                        'Tim',
                        'Tim',
                        'Tim',
                        'Tim'],
                    'Anz': [
                        '1',
                        '1', 
                        '1', 
                        '1', 
                        '1'],
                    'Zahl': [
                        '2',
                        '2', 
                        '2', 
                        '2', 
                        '2'],
                    'Datum': [
                        '2020-03-14',
                        '2020-03-14', 
                        '2020-03-14', 
                        '2020-03-15', 
                        '2020-03-15']
                    })  
df['Datum'] = pd.to_datetime(df['Datum'])
df
Zuletzt geändert von xmelfoyx am Dienstag 21. Dezember 2021, 11:50, insgesamt 1-mal geändert.
Benutzeravatar
sparrow
User
Beiträge: 4183
Registriert: Freitag 17. April 2009, 10:28

Arbeite dich mal durch das Pandas Tutorial.
Gruppieren und Aggregieren ist in dem Zusammenhang absolute Basis.

Du solltest vorher aber klären ob du zählen willst (was du schreibst) oder die Summe bilden (was du zeigst).
xmelfoyx
User
Beiträge: 11
Registriert: Mittwoch 24. November 2021, 12:49

sparrow hat geschrieben: Dienstag 21. Dezember 2021, 11:35 Arbeite dich mal durch das Pandas Tutorial.
Gruppieren und Aggregieren ist in dem Zusammenhang absolute Basis.

Du solltest vorher aber klären ob du zählen willst (was du schreibst) oder die Summe bilden (was du zeigst).
stimmt habs korrigiert
xmelfoyx
User
Beiträge: 11
Registriert: Mittwoch 24. November 2021, 12:49

xmelfoyx hat geschrieben: Dienstag 21. Dezember 2021, 11:29 Hallo zusammen,

ich schildere euch mein Problem.
Ich hab ein DataFrame gegeben bsp: mit den Werten

Name | Anz | zahl | Datum
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-14
Tim |1 | 2 | 2020-03-15
Tim |1 | 2 | 2020-03-15


Jetzt sollen die Werte als Summe in "Anz" und "zahl" in abhängigkeit zum Datum gebildet werden und in ein neues DataFrame erzeugt werden.

Name | Anz | zahl | Datum
Tim |3 | 6 | 2020-03-14
Tim |2 | 4 | 2020-03-15




Habe die Lösung gefunden, ich poste diese mal

Code: Alles auswählen

import pandas as pd

df = pd.DataFrame({'Datum': [
                        '2020-03-14',
                        '2020-03-14', 
                        '2020-03-14', 
                        '2020-03-15', 
                        '2020-03-15'],
                    'Anz': [
                        1,
                        1, 
                        1, 
                        1, 
                        1],
                    'Zahl': [
                        2,
                        2, 
                        2, 
                        2, 
                        2]
                    })  
df['Datum'] = pd.to_datetime(df['Datum'])
ds=df.groupby(by=["Datum"]).sum().groupby(level=[0]).cumsum()
ds
Antworten