Predictive Hacks

How to use global variables inside a function

global variables

We are sure that at some point in your programming life you have received an error like UnboundLocalError: local variable ‘x’ referenced before assignment. In this post, we will show you how you can skip this error easily along with a useful hack for Pandas DataFrames.

Let’s say that we have a function that when it takes as input a negative number it returns 0. We want to apply it in a data frame but somehow we want to count how many times the function returned 0. Having said that we need a variable, let’s call it “counter”. To use this variable inside our function without any errors, we need to add this line of code: global counter (the name of the variable).

#this is out fucntion

counter=0
def test(x):
    #at this point we are calling the global variable counter
    global counter
    if x<0:
        x=0
        counter = counter+1
        return(x)
    else:
        return(x)

Let’s apply this function to the following DataFrame

data=pd.DataFrame({"A":[-1,1,-2,3,12,-6,2,45,12]})
print(data)
    A
0  -1
1   1
2  -2
3   3
4  12
5  -6
6   2
7  45
8  12
data['A'].apply(test)
0     0
1     1
2     0
3     3
4    12
5     0
6     2
7    45
8    12

Now that the function is applied to our data frame, If we call the variable “counter” it holds how many times the function took as input a negative number.

print(counter)
3

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Leave a Comment

Subscribe To Our Newsletter

Get updates and learn from the best

More To Explore

Python

Image Captioning with HuggingFace

Image captioning with AI is a fascinating application of artificial intelligence (AI) that involves generating textual descriptions for images automatically.

Python

Intro to Chatbots with HuggingFace

In this tutorial, we will show you how to use the Transformers library from HuggingFace to build chatbot pipelines. Let’s