U_d = pd.read_csv("Uzud.csv", decimal = ',')
print(U_d)
结果:
f in kHz U in mV Amplitude in Vpp entfernung in cm
43.7 52 1 5.0 9.0
43.7 43 5 11.0 NaN
43.7 30 5 13.0 NaN
43.7 27,5 5 15.0 NaN
43.7 24 5 16.0 NaN
(请注意,“U in mV”中的值 27.5 是 27,5,并被解释为字符串)
在所有列中,所有数据实际上都是浮点数,但不幸的是它是这样存储的:
f in kHz,U in mV,amplitude in Vpp,distance in cm
"43,7",52,1,5,9
"43,7",43,5,11
"43,7",30,5,13
"43,7", "27,5",5,15
"43,7",24,5,16
这会导致“U in mV”中的一些数据被解释为字符串。我希望所有内容都存储为浮点数
我希望它将字符串转换为浮点数
使用
skipinitialspace=True
:
import pandas as pd
from io import StringIO
s = """f in kHz,U in mV,amplitude in Vpp,distance in cm
"43,7",52,1,5,9
"43,7",43,5,11
"43,7",30,5,13
"43,7", "27,5",5,15
"43,7",24,5,16
"""
pd.read_csv(StringIO(s), decimal=',', skipinitialspace=True)
f in kHz U in mV amplitude in Vpp distance in cm
43.7 52.0 1 5 9.0
43.7 43.0 5 11 NaN
43.7 30.0 5 13 NaN
43.7 27.5 5 15 NaN
43.7 24.0 5 16 NaN