Ich versuche, eine Wenn-Bedingung zu erreichen. Aber es führt den else-Block aus und die Ergebnisse sind immer "Value3". Wo mache ich etwas falsch?
2 Antworten
Fügen Sie den Streifen wie unten angegeben hinzu:
def validate(row):
if row['TRANSACTION DESC'].strip()=='JWPFMAIN':
val="Value1"
elif row['TRANSACTION CD'].strip()=='':
val="Value2"
else:
val="Value3"
return val
dfwithcolumns['Status'] = dfwithcolumns.apply(validate, axis=1)
Versuchen Sie, elif anstelle des zweiten if zu verwenden. Denn wenn dann die erste wahr ist, aber die zweite if-Anweisung falsch ist, würde der Wert standardmäßig value3 sein. Stellen Sie außerdem sicher, dass es sich bei der zweiten if-Anweisung um ein Leerzeichen handelt, da es sich auch um eine leere Zeichenfolge handeln kann.
Verwandte Fragen
Neue Fragen
python
Python ist eine dynamisch typisierte Mehrzweck-Programmiersprache mit mehreren Paradigmen. Es wurde entwickelt, um schnell zu lernen, zu verstehen, zu verwenden und eine saubere und einheitliche Syntax durchzusetzen. Bitte beachten Sie, dass Python 2 ab dem 01.01.2020 offiziell nicht mehr unterstützt wird. Fügen Sie für versionenspezifische Python-Fragen das Tag [python-2.7] oder [python-3.x] hinzu. Wenn Sie eine Python-Variante (z. B. Jython, PyPy) oder eine Bibliothek (z. B. Pandas und NumPy) verwenden, fügen Sie diese bitte in die Tags ein.