gpt4 book ai didi

python - 奇怪的 loadtxt 行为,以前有效的脚本在重新安装后不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 19:17:45 25 4
gpt4 key购买 nike

我正在 python 中使用 numpy 的 loadtxt 函数,以便将数据从文本文件加载到数组。标准的东西不会引起任何问题。

我编写了一个脚本在 ubuntu 10.04 下执行此操作,并且运行完美。但是我最近升级到 ubuntu 12.04(完全重新安装,而不是升级),现在脚本不起作用。

这是文件中的一行,所有行都具有相同的结构:11 列,由制表符分隔:

Av = 0° Bv = 78°    273013  247744  1327      ****  Av' = 156°  Bv = 78°    259197  247803  1551

我想要第5列和第11列的数据,所以我使用这个命令来加载数据:loadtxt(文件, usecols=(4,10),delimiter='\t')

但是它不起作用,这是 ipython 吐出的内容:

In [46]: test=loadtxt(file,usecols=(4,10),delimiter='\t')
--------------------------------------------------------------------------- ValueError
Traceback (most recent call last) <ipython-input-46-20a0923eaf9b> in <module>()
----> 1 test=loadtxt(file,usecols=(4,10),delimiter='\t')

/usr/lib/python2.7/dist-packages/numpy/lib/npyio.pyc in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
794 vals = [vals[i] for i in usecols]
795 # Convert each value according to its column and store

--> 796 items = [conv(val) for (conv, val) in zip(converters, vals)]
797 # Then pack it according to the dtype's nesting

798 items = pack_items(items, packing)

ValueError: could not convert string to float:

它曾经适用于我的旧系统(ubuntu 10.04),但我无法在新安装(ubuntu 12.04)下从该文件加载数据。

如果有人能指出我哪里出了问题,我将不胜感激!

最佳答案

我不确定为什么 loadtxt 过去可以工作,它目前不能很好地处理字符串。但您可以使用genfromtxt来处理此记录:

import numpy as np

out = np.genfromtxt(file, usecols=(4,10), delimiter='\t')

如果您省略 usecols 并加载整个记录,则它将用 nans 替换字符串条目。

关于python - 奇怪的 loadtxt 行为,以前有效的脚本在重新安装后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798705/

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