Skip to main content

Standard Normal Distribution with examples using Python

Negative Indices in Python

Negative Indices in Python

In this post, we will go into a concept known as negative indices and negative slicing in Python. How do you utilize negative indices in Python? If you have not read my post on slicing in Python, I have given the link here. Let's create a list of numbers.


list_nos = [10,20,30,40,50,60]

list_nos[1:4]
--->[20,30,40]

list_nos[:2] 
---> [10,20]

Let's say, we want to access last element in list.


list_nos[len(list_nos)-1]
--->[60]

Previous example can also be written as below


list_nos[-1]
---> [60]

If you want the second from last element


list_nos[-2]
---> [50]

If you want the third from last element


list_nos[-3]
---> [40]

You get the point!!!

Negative index can be sometimes easier to use than positive index. If you are still confused, I just made a helper image to help understand better.

How do you translate positive index to a negative index in Python?
Negative Index = Positive Index - length of data structure
So in our example list list_nos
-1 --> 5-6
-2 --> 4-6
-3 --> 3-6
-4 --> 2-6
-5 --> 1-6
-6 --> 0-6

Can slicing work with negative indices? If you do not know about slicing , you can read my previous post. Yes, slicing still works with negative indices. Recall that slicing is done in the format start:end:step


list_nos[-1:-6:-1]
---> [60, 50, 40, 30, 20]

Interpret the indexing as "Go from last index to the first index (but exclude the element at first index) with a step size of 1 in the negative direction" Note that the step size is negative. The element in the end index is not considered for retrieval. Element at index 0 which is 10 did not appear in the result. If you want element at index 0 , this is how you do


list_nos[-1::-1]
---> [60, 50, 40, 30, 20, 10]

If you carefully see the above result, you notice that you just reversed the list as well. Note that this is just a view of the list and we have not created a copy of the list. More on the topic "views" and copies later If you want alternate elements starting from the last element. Simple!!!


list_nos[-1:-6:-2]
---> [60, 40, 20]

Negative indices can be useful way to manipulate your Python lists. Always good to know about its functionality.

Comments

Popular posts from this blog

How to adopt Embeddings for Categorical features in Tabular Data using PyTorch's nn.Embedding( )-- Part 2

In the previous post , we set up the context to utilize embeddings for categorical features. In this post, we will figure out how to create these embeddings and combine them with other continuous features to build a neural network model. Dataset Download We will utilize the UCI machine learning repo which has a dataset on credit card default for customers in Taiwan. This dataset is also available in Kaggle . Metadata about this dataset is available on the respective websites. To follow this post, it is recommended to download the dataset from Kaggle. Most of the features are self explanatory. Embedding Creation A few definitions first. Levels in a categorical feature represent unique values available for that categorical feature. For e.g. MARRIAGE has levels 0,1,2,3. Each level of a categorical feature is represented by a vector of numbers. So, if you stack up all the levels together and all the vectors together, you can imagine levels to be a colum

How to adopt Embeddings for Categorical features in Tabular Data using PyTorch's nn.Embedding( )-- Part 1

How to adopt Embeddings for Categorical features in Tabular Data using PyTorch's nn.Embedding( )-- Part 1 In this post, we will talk about using embeddings for categorical features using PyTorch. This post will be broken down into following parts. Dataset Download Data Understanding Data Preprocessing Embedding Creation Define Dataset and Dataloaders in PyTorch Neural Network definition in PyTorch The Training Loop Model Validation The idea about using Embeddings from Categorical Features was first mooted during a Kaggle contest and a paper was also published on this. In the context of NLP and word embeddings, we represent each word in an n dimesnional vector space. In a similar way, we can represent any categorical feature in an n dimesnional vector space as well. 1. Dataset Download We will utilize the UCI machine learning repo which has a dataset on credit card default for customers in Taiwan. This dataset is also av

Standard Normal Distribution with examples using Python

Standard Normal Distribution with examples In our previous post, we talked about Normal Distribution and its properties . In this post, we extend those ideas and discuss about Standard Normal Distribution in detail. What is a Standard Normal Distribution? A Normal Distribution with mean 0 and standard deviation 1 is called a Standard Normal Distribution . Mathematicallty, it is given as below. Fig 1:Standard Normal Probability Distribution Function For comparison, have a look at the Normal Probability Distribution Function. If you substitute mean as 0 ,standard deviation as 1, you derive the standard normal probability distribution function Fig 2: Normal Probability Distribution Function Need for a standard normal probability distribution function We need to extract probability information about events that we are interested in. For this, first we need to convert any normal random variable