Convert string numpy.ndarray to float numpy.ndarray

2024/11/15 11:19:17

I have one problem. How can I convert:

import numpy as npa = np.array([['0.1 0.2 0.3'], ['0.3 0.4 0.5'], ['0.5 0.6 0.7']])

To:

b = np.array([[0.1,0.2,0.3], [0.3,0.4,0.5], [0.5,0.6,0.7]])
Answer

Here is a possible approach:

import numpy as np
a = np.array([['0.1 0.2 0.3'], ['0.3 0.4 0.5'], ['0.5 0.6 0.7']])# Create a placeholder list
b = []for element in a:# use a list comprehension to#     * take the zeroeth element in each row of the 'a' array and#       split the string on spaces#     * parse through each substring thus produced#     * convert each of those substrings into floats#     * store it in the list called temp.temp = [float(num) for num in element[0].split()]# Add each temp list to the parent list 'b'b.append(temp)# Convert b into an np.array
b = np.array(b)

Without the comments

This looks like this:

b = []for element in a:temp = [float(num) for num in element[0].split(' ')]b.append(temp)
b = np.array(b)

Yields:

array([[0.1, 0.2, 0.3],[0.3, 0.4, 0.5],[0.5, 0.6, 0.7]])

An alternate approach:

I tend to like this as an approach since it uses the native casting abilities of numpy. I have not tested it, but I would not be surprised if that produces a speedup in the conversion process for large arrays.

# transform 'a' to an array of rows full of individual strings
# use the .astype() method to then cast each value as a float
a = np.array([row[0].split() for row in a])
b = a.astype(np.float)

Hattip to @ahmed_yousif

https://en.xdnf.cn/q/119058.html

Related Q&A

function at the end of code- why do i have to place it?

Im just starting my adventure with Python. Unfortunately, I cant figure out why, at the end of my code, I have to add myfunc(). Without it my code doesnt display. How is it if I use more than one def…

Would like to write code in idle that I have in Jupyter notebook. It is using Timeit

code big_array= np.random.rand(1000000) %timeit sum(big_array) this code above is done in jupyter notebook how do I use this code in idle

How to pass python variable to shell command [duplicate]

This question already has answers here:How to escape os.system() calls?(10 answers)Closed 2 years ago.Is their any way that i can pass variable value of python to my unix command Note : var is a pytho…

A function inside a function Python

This is a problem asked before but I cant really understand the other explain of this kind of problem so Im here to re-write it in more details. While studying I have encountered this kind of code tha…

Accessing a parameter passed to one function in another function

I have two functions:def f1(p1=raw_input("enter data")):...do somethingdef f2(p2=raw_input("enter data")):...do something elsep1 and p2 are the same data, so I want to avoid asking …

SOLVE: AttributeError: ImmutableDenseNDimArray object has no attribute as_independent

I am quite new to python and I have been trying to plot this in a few different ways. If I try using np.vectorize, it crashes. so i wrote this code, which is giving me the error in the title: import ma…

Python memory limit [duplicate]

This question already has answers here:In-memory size of a Python structure(7 answers)Closed 10 years ago.So clearly there cannot be unlimited memory in Python. I am writing a script that creates lists…

Automating Gmail login in Python

I am writing a Python program that can login Gmail.The purpose of this program is to check whether the username/password combination exists and is correct.Since this program is to test the the username…

Reversing order in incrementing digits

I have a list of numbers, and Im trying to do the following in a way as efficient as possible.For each consecutively incrementing chunk in the list I have to reverse its order.This is my attempt so far…

why python selenium get the empty page_source?

I try to simulate the buy item operation on the link below. (Need login in first)taobao_item_linkAnd after you click the button below. img_link:The link will jump to a new link.But if I print out the p…