Seite 1 von 1

Pandas Berechnen wenn

Verfasst: Mittwoch 5. Oktober 2022, 13:25
von Luhikg
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.

Re: Pandas Berechnen wenn

Verfasst: Mittwoch 5. Oktober 2022, 19:15
von Sirius3
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.