Sai A Sai A
Updated date Apr 03, 2024
In this blog, we explore five different methods for converting a float array to an int array in Python. The methods include using the map() function, a loop, numpy, list comprehension, and pandas.

Method 1: Using the map() function

The map() function is a built-in Python function that applies a given function to each element of an iterable and returns an iterator of the results. We can use this function to apply the int() function to each element of the float array, which will convert each element to an integer.

float_array = [1.2, 2.5, 3.7, 4.0, 5.8]
int_array = list(map(int, float_array))
print(int_array)

Output:

[1, 2, 3, 4, 5]

Method 2: Using a loop

We can iterate over the elements of the float array and apply the int() function to each element, and append the resulting integer to a new int array.

float_array = [1.2, 2.5, 3.7, 4.0, 5.8]
int_array = []
for element in float_array:
    int_array.append(int(element))
print(int_array)

Output:

[1, 2, 3, 4, 5]

Method 3: Using numpy

The numpy library is a popular Python library for scientific computing and data analysis. It provides efficient and optimized functions for working with arrays and matrices. We can use the numpy library to convert a float array to an int array by calling the astype() method and passing 'int' as the argument.

import numpy as np

float_array = np.array([1.2, 2.5, 3.7, 4.0, 5.8])
int_array = float_array.astype(int)
print(int_array)

Output:

[1 2 3 4 5]

Method 4: Using list comprehension

We can use list comprehension to create a new list of integers from a float array, by applying the int() function to each element of the float array.

float_array = [1.2, 2.5, 3.7, 4.0, 5.8]
int_array = [int(element) for element in float_array]
print(int_array)

Output:

[1, 2, 3, 4, 5]

Method 5: Using pandas

Pandas provides optimized functions for working with dataframes and series, which are similar to tables and columns in a database. We can use the pandas library to convert a float array to an int array by creating a series object and calling the astype() method with 'int' as the argument.

import pandas as pd

float_array = [1.2, 2.5, 3.7, 4.0, 5.8]
float_series = pd.Series(float_array)
int_series = float_series.astype(int)
int_array = int_series.to_list()
print(int_array)

Output:

[1, 2, 3, 4, 5]

Comments (0)

There are no comments. Be the first to comment!!!