# Converting Data Types in Python: Floats to Integers and Integers to Floats

## Converting a List of Floats to a List of Integers in Python

If you’re working with data in Python, you’ll likely come across situations where you need to convert a list of floats to a list of integers. This may be necessary because some operations in Python only work with integers.

In this article, we’ll explore different methods for converting a list of floats to a list of integers.

### 1. Using List Comprehension

One common method for converting a list of floats to a list of integers is to use list comprehension. List comprehension allows you to create a new list based on an existing list.

Here’s an example:

``````original_list = [1.5, 2.4, 3.9, 4.1]
new_list = [int(i) for i in original_list]

print(new_list)
``````

### Output:

``````[1, 2, 3, 4]
``````

The `int()` function is used to cast each element in the original list to an integer.

### 2. Using Round() Function

If you want to round the floats before conversion, you can use the `round()` function. Here’s an example:

``````original_list = [1.5, 2.4, 3.9, 4.1]
new_list = [int(round(i)) for i in original_list]

print(new_list)
``````

### Output:

``````[2, 2, 4, 4]
``````

The `round()` function rounds each element in the original list to the nearest integer, and the `int()` function casts each rounded element to an integer.

### 3. Using math.ceil() Method

If you want to round up to the nearest integer instead of rounding to the nearest integer, you can use the `math.ceil()` method.

Here’s an example:

``````import math

original_list = [1.5, 2.4, 3.9, 4.1]
new_list = [math.ceil(i) for i in original_list]

print(new_list)
``````

### Output:

``````[2, 3, 4, 5]
``````

The `math.ceil()` method rounds each element in the original list up to the nearest integer.

### 4. Using math.floor() Method

If you want to round down to the nearest integer instead of rounding to the nearest integer, you can use the `math.floor()` method.

Here’s an example:

``````import math

original_list = [1.5, 2.4, 3.9, 4.1]
new_list = [math.floor(i) for i in original_list]

print(new_list)
``````

### Output:

``````[1, 2, 3, 4]
``````

The `math.floor()` method rounds each element in the original list down to the nearest integer.

### 5. Using map() Function

The `map()` function applies a function to each element in a list and returns a new list with the modified elements. Here’s an example:

``````original_list = [1.5, 2.4, 3.9, 4.1]
new_list = list(map(int, original_list))

print(new_list)
``````

### Output:

``````[1, 2, 3, 4]
``````

The `int()` function is applied to each element in the original list, and the `list()` function is used to convert the map object to a list.

## Converting a List of Integers to a List of Floats in Python

Conversely, if you need to convert a list of integers to a list of floats, you can use one of the following methods.

### 1. Using List Comprehension

One method for converting a list of integers to a list of floats is to use list comprehension. Here’s an example:

``````original_list = [1, 2, 3, 4]
new_list = [float(i) for i in original_list]

print(new_list)
``````

### Output:

``````[1.0, 2.0, 3.0, 4.0]
``````

The `float()` function is used to cast each element in the original list to a float.

### 2. Using Map() Function

The `map()` function can also be used to convert each element in a list of integers to a float. Here’s an example:

``````original_list = [1, 2, 3, 4]
new_list = list(map(float, original_list))

print(new_list)
``````

### Output:

``````[1.0, 2.0, 3.0, 4.0]
``````

The `float()` function is applied to each element in the original list, and the `list()` function is used to convert the map object to a list.

### 3. Using For Loop

Another way to convert a list of integers to a list of floats is by using a for loop. Here’s an example:

``````original_list = [1, 2, 3, 4]
new_list = []
for i in original_list:
new_list.append(float(i))

print(new_list)
``````

### Output:

``````[1.0, 2.0, 3.0, 4.0]
``````

We create an empty list called `new_list` and use a for loop to iterate over each element in the original list. For each element, we append the float value of that element to the new list.

### 4. Using NumPy

If you’re working with scientific computing or data analysis, you might already be using NumPy. NumPy is a powerful library for performing mathematical operations in Python, including converting data types. Here’s an example:

``````import numpy as np

original_list = [1, 2, 3, 4]
new_array = np.array(original_list, dtype='float')
new_list = new_array.tolist()

print(new_list)
``````

### Output:

``````[1.0, 2.0, 3.0, 4.0]
``````

We use the `np.array()` function to create a new NumPy array from the original list, specifying the data type as `float`. We then use the `tolist()` method to convert the NumPy array back to a list.

## Conclusion

In this article, we explored different methods for converting a list of floats to a list of integers and a list of integers to a list of floats. By using list comprehension, the `round()` function, the `math.ceil()` and `math.floor()` methods, the `map()` function, for loops, and NumPy, you can easily convert data types in Python to suit your needs.

To work with data in Python, it’s essential to know how to convert data types such as floats to integers and integers to floats. In this article, we explored different methods for converting a list of floats to a list of integers and a list of integers to a list of floats using methods such as list comprehension, the `round()` function, the `math.ceil()` and `math.floor()` methods, the `map()` function, for loops, and NumPy. By knowing these methods, you can easily convert data types in Python to suit your needs.