Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Error: could not convert string to float in Python

I am trying to read two columns of data, Mean and Std from the file Mean.Std.txt. But I am running into an error which I have shown below. I also present the expected output.

import numpy as np

Mean,Std = np.loadtxt('Mean_Std.txt',unpack=True)
print([Mean])
print([Std])

The data in Mean_Std.txt looks like

Mean              Std
41.96969696969697 0.22727272727273018
29.646464646464647 2.3263867473915276
24.444444444444443 2.836612913158948
22.424242424242426 3.2698851295313993
21.262626262626263 3.4897856988730362
20.80808080808081 4.038667556139951
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636

The error is

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Traceback (most recent call last):

  File "C:\Users\USER\OneDrive - Technion\Research_Technion\Python_PNM\Sept17_2022\220\var_1_beta_1e-1\Test.py", line 19, in <module>
    Mean,Std = np.loadtxt('Mean_Std.txt',unpack=True)

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 1146, in loadtxt
    for x in read_data(_loadtxt_chunksize):

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 997, in read_data
    items = [conv(val) for (conv, val) in zip(converters, vals)]

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 997, in <listcomp>
    items = [conv(val) for (conv, val) in zip(converters, vals)]

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 734, in floatconv
    return float(x)

ValueError: could not convert string to float: 'Mean'

The expected output is

[array([41.96969697, 29.64646465, 24.44444444, 22.42424242, 21.26262626,
       20.80808081, 20.60606061, 20.60606061, 20.60606061, 20.60606061])]
[array([0.22727273, 2.32638675, 2.83661291, 3.26988513, 3.4897857 ,
       4.03866756, 4.34203936, 4.34203936, 4.34203936, 4.34203936])]

>Solution :

Use skiprows=1 to skip header row

Mean,Std = np.loadtxt('Mean_Std.txt',unpack=True, skiprows=1)
print([Mean])
print([Std])
[array([41.96969697, 29.64646465, 24.44444444, 22.42424242, 21.26262626,
       20.80808081, 20.60606061, 20.60606061, 20.60606061, 20.60606061])]
[array([0.22727273, 2.32638675, 2.83661291, 3.26988513, 3.4897857 ,
       4.03866756, 4.34203936, 4.34203936, 4.34203936, 4.34203936])]
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading