When working with dataframes, it’s common for the need to extract the position of a particular cell using some condition or criteria. This can be useful for locating specific values or even performing operations on specific subsets of the dataset. To achieve this task, several methods are discussed in this thread along with sample codes to make it easy for you to understand the methods. If you want to learn more dataframes and the different techniques which are used on them, check out the following threads:
- Checking dataframe for missing values
- Renaming certain columns in a dataframe
- Merge many series to create a dataframe
- Importing every nth row from a CSV file
In each method, the same sample dataframe is used and in each method, we’ll be extracting the row and column number of value
1. Using "np.where()" method:
np.where()is a NumPy function that returns the indices of elements in an array that satisfy a given condition.
- When a single argument is provided, it returns the indices where the given condition is True.
- In this technique,
np.where()is used to get indices (row and column number) of value
Note: The indices would appear as one less than the sequential count of indexes, this is because the index starts from position
0 in Python.
2. Using "loc" indexer and "get_loc()" method:
- In this method, the row number is extracted using the
locindexer which is a label-based indexing method that allows to access a group of rows and columns by labels or a boolean array.
- Then, the
indexattribute is used to extract the row number of the fetched row.
- The column number is extracted using
get_loc()method which is used to return the index of a column or row.
- This method is applied on
df.columnswhich has all the column names of the dataframe and we find the location of column
6is located in column
3. Using "np.argwhere()" method:
np.argwhere()is a NumPy function that returns a 2D array of indices of elements that are non-zero or non-false.
- In this method, a simple condition is passed to this function to extract the row and column number of value
6, and since it returns a 2D array,
is used to unpack the inner list in variables
4. Using "np.nonzero()" method:
np.nonzero()is a NumPy function that returns a tuple of arrays containing the indices of the non-zero elements of its input array.
- In this method, the array passed to this function is
df.values == 6which is a boolean array comprising of
1(non-zero) in Python, the function returns the row and column indices of value
6which are then unpacked into the variables