Pandas Berechnen wenn

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Luhikg
User
Beiträge: 3
Registriert: Mittwoch 5. Oktober 2022, 12:41

Hallo zusammen,

ich habe ein Verständnisproblem.

Ich habe zwei pandas dataframes nun möchte ich in dfLt22 eine neue spalte einfügen und für jede row einen wert errechnen.
Dieser berechnet sich aus den Spalten C und D in dfStammdaten, die bedingung ist die SKU in "B" und "CS" in A
Ich bin ein wenig überfragt wie ich da hinkomme?

Das hier ist mein bisheriger versuch.

Code: Alles auswählen

dflt22['AD'] = 0
for i in range(0, len(dflt22)):
    sku = dflt22.loc[i,'B']
    if dfStammdaten.loc[i,'A'] == "CS" and dfStammdaten.loc[i,'B'] == sku:
        a = dfStammdaten['C'] / dfStammdaten['D']
        dflt22.loc[i,'AD'] = a
print(dflt22['AD'])
das hier kommt dabei raus
Bild

Ich hoffe das ist verständlich und mir kann jemand helfen.

Danke euch.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn man for-Schleifen über einen Index schreibt, dann macht man wahrscheinlich etwas falsch.
Als erstes würde man nahc "CS" filtern und dann per join die beiden Dataframes über die Spalte B verbinden.
Antworten