gpt4 book ai didi

python - 格式化numpy记录数组中的 "Kilo"、 "Mega"、 "Gig"数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:14 24 4
gpt4 key购买 nike

我正在尝试绘制这种 csv 格式的内容:时间戳、值。但这些值不是实数,而是大值的缩写(k = 1000、M = 1000000 等)。

2012-02-24 09:07:01, 8.1M
2012-02-24 09:07:02, 64.8M
2012-02-24 09:07:03, 84.8M
2012-02-24 09:07:04, 84.8M
2012-02-24 09:07:05, 84.8M
2012-02-24 09:07:07, 84.8M
2012-02-24 09:07:08, 84.8M
2012-02-24 09:07:09, 84.8M
2012-02-24 09:07:10, 84.8M

我通常使用 numpy 记录数组通过 matplotlib.mlab.csv2rec(infile) 存储 csv。但仅当值不是缩写形式时才有效。有没有一种简单的方法可以做到这一点,而无需我的程序实际读取每个值,寻找“M”将 84.8M 转换为 84800000?

最佳答案

另一种可能是下面的转换函数:

conv = dict(zip('kMGT', (3, 6, 9, 12)))
def parse_number(value):
if value[-1] in conv:
value = '{}e{}'.format(value[:-1], conv[value[-1]])
return float(value)

例子:

>>> parse_number('1337')
1337.0
>>> parse_number('8.1k')
8100.0
>>> parse_number('8.1M')
8100000.0
>>> parse_number('64.367G')
64367000000.0

关于python - 格式化numpy记录数组中的 "Kilo"、 "Mega"、 "Gig"数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9932656/

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