首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字符串转换为数字范围(浮点数)?

如何将字符串转换为数字范围(浮点数)?
EN

Stack Overflow用户
提问于 2019-04-17 06:46:39
回答 1查看 38关注 0票数 -1

我有一行字符串:

poor: <=0.75; intermediate: >0.75 & <=1.25; normal: >1.25 & <= 2.5; High inducibility: >2.5

我想根据上面的字符串创建一个字典,如下所示:

import numpy
dict = {poor: numpy.arange(0, 0.75, 0.05),
        intermediate: numpy.arange(0.75, 1.25, 0.05),
        normal: numpy.arange(1.25, 2.5, 0.05),
        High: numpy.arange(2.5, 5, 0.05)}

那么,在python2.7中有什么好方法可以做到这一点吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 07:03:18

使用np.digitize

import numpy as np
from pprint import pprint

bins = [0.75, 1.25, 2.5]
bin_names = np.array(['poor', 'intermediate', 'normal', 'high'])

data = np.linspace(0, 4, 10, endpoint=False)
result = bin_names[np.digitize(data, bins)]

pprint(list(zip(np.round(data, 1), result)))

输出:

[(0.0, 'poor'),
 (0.4, 'poor'),
 (0.8, 'intermediate'),
 (1.2, 'intermediate'),
 (1.6, 'normal'),
 (2.0, 'normal'),
 (2.4, 'normal'),
 (2.8, 'high'),
 (3.2, 'high'),
 (3.6, 'high')]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55717597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档