4

Trying to figure out how to get this "Headwater" column to indicate "Yes" (or 1) if the value of "NextDown_Copy" is "" and "No" (or 0) if it has any other value (eg. 7100381010).

enter image description here

I attempted to try figuring out the Python code to do this using 1 and 0 coding (although I'd rather use Yes and No) (as illustrated below) but keep getting errors. I consulted a few other posts (another one), but still wasn't able to find the problem.

enter image description here

asked Feb 5, 2016 at 16:13
2
  • 2
    Looks like you are missing the indentation in the Code box. Commented Feb 5, 2016 at 16:19
  • Sara Barnes, where should the indentation have been? Commented Feb 8, 2016 at 0:17

2 Answers 2

8

Here's a simple expression with no need to define a function in the codeblock:

Headwater =

0 if !NextDown_Copy! else 1

This checks if each value of NextDown_Copy is truthy (i.e. not a null, 0, empty string), and returns a 0 if so, otherwise it returns a 1.

answered Feb 5, 2016 at 18:26
10
  • Thanks! This pretty much worked, although it returned 1s for Null values and left Null in all the rows for which NextDown_Copy had values. Any ideas why? Commented Feb 8, 2016 at 0:11
  • That's very odd. What if you try 1 if !NextDown_Copy! is None else 0? Commented Feb 8, 2016 at 0:17
  • Hum! Good idea. Unfortunately still didn't work! Commented Feb 8, 2016 at 17:04
  • Is Headwater a text field? If so, try "0" if !NextDown_Copy! else "1" Commented Feb 8, 2016 at 17:08
  • 1
    Works like a charm! Thanks. (Looks like today I was making a big mistake by not selecting Python while running the codes... I just realized this, which is likely what was causing the problem, sorry about this!) Commented Feb 8, 2016 at 18:38
2

Python uses None to denote null values. I'd replace your Null with None (no quotes or brackets)and see what you get. Your script is essentially looking for a text string value of null. Furthermore, it's not contained in single quotes, so you're throwing a syntax error twice over.

answered Feb 5, 2016 at 16:18
1
  • Tried this out with no luck. But thanks, as its great to know that Python denotes nulls as None. I am totally unfamiliar with Python for the moment and was doing guess work, so indeed, I was trying to get it to search for a string value! Good to know I shouldn't have been doing that. Commented Feb 8, 2016 at 0:16

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.