0

I have a NumPy array as shown below.

array(['0.0189', '0.0200', '0.0212', '0.0225', '0.0239', '0.0253',
       '0.0268', '0.0284', '0.0302', '0.0320', '0.0339', '0.0360',
       '0.0381', '0.0405', '0.0429', '0.0455', '0.0482', '0.0512',
       '0.0542', '0.0575', '0.0610', '0.0647', '0.0686', '0.0728',
       '0.0772', '0.0818', '0.0868', '0.0920', '0.0976', '0.1035',
       '0.1097', '0.1164', '0.1234', '0.1309', '0.1388', '0.1472',
       '0.1560', '0.1655', '0.1755', '0.1861', '0.1973', '0.2093',
       '0.2219', '0.2353', '0.2496', '0.2647', '0.2807', '0.2976',
       '0.3156', '0.3347', '0.3549', '0.3764', '0.3991', '0.4233',
       '0.4489'], dtype=object)

The array name is result.I need to do logrithmic operation on this array.Below is my code.

20*(np.log10(float(result)/1.44))

When running this code, I obtained an error as shown below.

TypeError                                 Traceback (most recent call last)
Input In [7], in <cell line: 1>()
----> 1 20*(np.log10(float(result)/1.44))

TypeError: only size-1 arrays can be converted to Python scalars

can someone help me to solve this issue.

1
  • 1
    Declare your array with dtype=np.float64. Then 20*(np.log10(result/1.44)) should work Commented Oct 13, 2022 at 6:58

1 Answer 1

1

You cannot convert this array to array of floats using float, you need to use astype method. Here is example use:

result.astype(np.float64)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.