# Replacing empty or missing values with zeros in a large array

I have an large array of more than 40000 elements

```
a = ['15', '12', '', 18909, ...., '8989', '', '90789', '8']
```

I'm looking for a simply way to replace the empty '' values to '0' so that I can manipulate the data in the array using Numpy.

I would then convert the elements in my array into integers using

```
a = map(int, a)
```

so that I could find the mean of the array in numpy

```
a_mean = np.mean(a)
```

My issue is that I cannot convert to integers in an array with missing numbers to get a mean.

### 4 Answers

You could just make a small function that does exactly what you want, e.g.:

```
def to_int(x):
try:
return int(x)
except ValueError:
return 0
```

And then use that with `map(to_int, a)`

.

```
In [22]: a = ['15', '12', '', 18909, '8989', '90789', '8']
map(to_int, a)
Out[23]: [15, 12, 0, 18909, 8989, 90789, 8]
```

Bas Swinckels
posted this

## Have an answer?

JD

Can you do:

`new_a = [int(v or 0) for v in a]`

and then use`new_a`

?