How to convert an array of strings to an array of floats in numpy? Ask Question

How to convert an array of strings to an array of floats in numpy? Ask Question

How do I make the following conversion in NumPy?

["1.1", "2.2", "3.2"]  ⟶  [1.1, 2.2, 3.2]

ベストアンサー1

Well, if you're reading the data in as a list, just do np.array(map(float, list_of_strings)) (or equivalently, use a list comprehension). (In Python 3, you'll need to call list on the map return value if you use map, since map returns an iterator now.)

However, if it's already a numpy array of strings, there's a better way. Use astype().

import numpy as np
x = np.array(['1.1', '2.2', '3.3'])
y = x.astype(np.float)

おすすめ記事