gpt4 book ai didi

string - python : Convert string (in scientific notation) to float

转载 作者:行者123 更新时间:2023-12-03 12:47:58 26 4
gpt4 key购买 nike

我正在尝试在 numpy 中使用 genfromtxt 导入一个包含文本和数字的大型 .csv 文件。我只对两列感兴趣。我已经整理了大部分导入:

def importfile(root):
data = root.entry.get()
atw = np.genfromtxt(data, delimiter=",",
skip_header=1,
skip_footer=2,
autostrip=True,
usecols=(25,26),
dtype=("|S10"))
elem = atw[:,0]
concs = atw[:,1]

print(elem)
print(concs)

分别为 elem 和 concs 输出:

['Na2O' 'MgO' 'Al2O3' 'SiO2' 'P2O5' 'SO3' 'Cl' 'K2O' 'CaO' 'TiO2' 'Cr2O3'
'MnO' 'FeO' 'NiO' 'Cu2O' 'ZnO' 'Ga2O3' 'SrO' 'Y2O3']

['3.76E+00' '1.31E+01' '1.14E+01' '4.04E+01' '1.24E+00' '5.89E-02'
'2.43E-02' '1.53E+00' '1.49E+01' '2.87E+00' '6.05E-02' '1.96E-01'
'1.17E+01' '3.69E-02' '8.73E-03' '1.39E-02' '1.93E-03' '1.88E-01'
'5.58E-03']

我尝试了许多不同的方法将 concs 字符串转换为浮点数,但似乎不喜欢 concs 采用科学记数法这一事实......是否存在将 concs 值转换为浮点数的方法?预先感谢您的支持。

最佳答案

float函数可以这样做:

>>> float('1.31E+01')
13.1

或列表:

>>> map(float, ['3.76E+00', '1.31E+01', '1.14E+01'])
[3.76, 13.1, 11.4]

关于string - python : Convert string (in scientific notation) to float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com