- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to iterate over Columns in Numpy
The name Numpy stands for Numerical Python. It helps to solve the mathematical operation on an array. In Python, we have some built-in functions such as nditor(), T(), array(), shape[], and apply_along_axis() that will be used to iterate over columns in Numpy.
Syntax
The following syntax is used in the examples-
nditer()
The NumPy module contains this built-in function for iterator objects.
T()
This function refers to transposing of the index in a column dataframe.
array()
This is a built-in function in Python that creates the array. An array is defined by collecting the items of the same data type.
apply_along_axis()
The apply_along_axis() runs the given function through 1D slices of the input array, with the slices being taken along the axis we choose.
Shape[]
This is used to fetch the dimension of a module named Numpy. Also, fetch the dimension of Pandas module.
Using nditer() function
The program uses for loop, where the variable iterate through the built-in function nditer() with T() to iterate over Columns in Numpy.
Example
In the following example, we will start importing the module named numpy and take the object reference as ny. Then create the 4*3 matrix array by using built-in function array() with ny and store it in the variable arr. Next, use the for loop where variable col iterates over nditer() that accepts the parameter- arr.T() to transpose the index of the column. Finally, use the variable col in the print function to get the result.
import numpy as ny # Create a sample 2D array arr = ny.array([[10, 20, 30], [40, 50, 60], [70, 80, 90], [110, 120, 130]]) print("Iteration of all the columns:") # Iterate over columns using nditer for col in ny.nditer(arr.T): print(col)
Output
Iteration of all the columns: 10 20 30 40 50 60 70 80 90 110 120 130
Using Array Transpose
The program uses the concept of matrix where it transposes the matrix by row into column and this way it will iterate over columns in Numpy.
Example
In the following example, begin the program by importing the module and then create the list matrix by using the built-in function array() to store in the variable arr. Now transpose the input array matrix using for loop where variable col iterates over each column with the help of arr.T. Finally, we are printing the result with the help of variable col.
# import the module import numpy as np # create the list matrix arr = np.array([[1, 2, 3 ], [4, 5, 6], [7, 8, 9]] ) # Transpose array matrix for col in arr.T: print(col)
Output
[1 4 7] [2 5 8] [3 6 9]
Using apply_along_axis() Function
The program uses the built-in function apply_along_axis() which will slice the given function of the input array to iterate over each column in Numpy.
Example
In the following example, start importing the module and then create the 2D array representation in the variable arr. Next, operate each column using the user-defined function that accepts the parameter named col that receives the value through the built-in function apply_along_axis() and it will be printing the columns. In the end, the apply_along_matrix() accepts the following parameters-
p_column: This is the first parameter as named function definition to each column of the transpose array arr.T(third parameter).
0: The second argument 0 specifies that the function should be applied along the first axis (columns) of the input array.
arr.T: Transpose the array that will help to iterate over the Columns.
import numpy as np # 2D array representation arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # operate each column using the function def p_column(col): print(col) # Iterate the column np.apply_along_axis(p_column, 0, arr.T)
Output
[1 2 3] [4 5 6] [7 8 9]
Using While Loop
The program uses the shape method to fetch the dimension of NumPy module and using a while loop it will iterate over each column of the input array.
Example
In the following example, start importing the module and create the input array to make an array list consisting of rows and columns in the variable arr. Using the same variable it will use Shape[] to fetch the dimension of an array and store it in the variable num_cols. Then initialize the variable col_index to 0 which shows the initial index value. Next, use the while loop to set the condition by using < operator. Then use slicing and incrementing to generate the result.
import numpy as np # Create the 2D array arr = np.array([[1, 5, 9], [13, 14, 21], [25, 29, 33]]) # Get the number of columns num_cols = arr.shape[1] # Initialize the column index col_index = 0 # Using a while loop iterates over each column while col_index < num_cols: col = arr[:, col_index] print(col) col_index += 1
Output
[ 1 13 25] [ 5 14 29] [ 9 21 33]
Conclusion
We discussed the various ways to solve this problem statement. We saw some of the popular iteration built-in function of Numpy i.e. nditer(), T(), and, shape[] that helps to iterate over the column. The Numpy module works in the following operation such as- linear algebra, matrices, and, Fourier transform.