我试着用numpy.genfromtxt. 我将names参数设置为逗号分隔的字符串列表,例如
names = ['a', '[b]', 'c']
但是,当返回数组时数据类型名称值返回('a', 'b', 'c')
deletechars
参数未设置或强制为None
。我已经检查过了努比·恩达雷对于具有带方括号的命名列的dtype,保留了方括号,因此genfromtxt一定是在删除方括号。有没有办法关闭这个意想不到的功能?在
注意,如果names
参数设置为True
,也会发生这种行为。我已经在numpy版本1.6.1和1.9.9中进行了测试
Tags:
我以前曾抱怨过numpy issue tracker和邮件列表上的字段名损坏行为。它也出现在severalpreviousquestions等等。在
实际上,默认情况下,
np.genfromtxt
将损坏字段名,即使您通过传递字符串列表作为names=
参数直接指定它们:尽管包含非字母数字字符的字段名是完全合法的:
^{pr2}$我不明白这种行为的逻辑。在
如您所见,传递} 内的一组默认字符。在
None
作为deletechars=
参数不足以防止这种情况发生,因为此参数在内部初始化为^{但是,您可以传递一个空序列:
这可以是空字符串、列表、元组等,只要长度为零就无所谓。在
在String formatting issue (parantheses vs underline) 我发现除了
deletechars
参数之外,还需要dtype=None
:https://stackoverflow.com/a/32540939/901925
在默认的
^{pr2}$dtype
(float)中,使用deletechars
,但是名称要经过第二个验证器easy_dtype
,该验证器不获取此参数。在https://github.com/numpy/numpy/pull/4649
加载后可以更改字段名称:
这适用于从文件本身提取的名称:
相关问题 更多 >
编程相关推荐