Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy.genfromtxt从名称/键中删除冒号_Python_Csv_Numpy - Fatal编程技术网

Python numpy.genfromtxt从名称/键中删除冒号

Python numpy.genfromtxt从名称/键中删除冒号,python,csv,numpy,Python,Csv,Numpy,我使用numpy的np.genfromtxt(FileName,delimiter=“,”,names=True)将csv文件导入numpy数组。一切似乎都很正常,除了我的标题中有带冒号的名称(例如,Points:1),但是numpy为这个数据列设置了不带冒号的键(例如,Points1) 为什么会发生这种情况?有什么方法可以防止它 MWE min.csv: "Time", "Points:0", "Points:1" 0.0, 1.0, 2.0 3.0,4.0,5.0 脚本: import n

我使用numpy的
np.genfromtxt(FileName,delimiter=“,”,names=True)
将csv文件导入numpy数组。一切似乎都很正常,除了我的标题中有带冒号的名称(例如,
Points:1
),但是numpy为这个数据列设置了不带冒号的键(例如,
Points1

为什么会发生这种情况?有什么方法可以防止它

MWE min.csv:

"Time", "Points:0", "Points:1"
0.0, 1.0, 2.0
3.0,4.0,5.0
脚本:

import numpy as np
data = np.genfromtxt("min.csv",delimiter=",",names=True)
print data
print data.dtype
输出:

[( 0.,  1.,  2.) ( 3.,  4.,  5.)]
[('Time', '<f8'), ('Points0', '<f8'), ('Points1', '<f8')]
[(0,1,2.(3,4,5.)]

[('Time','p>来自'validating names'下的
numpy
文档:

deletechars
给出一个字符串,该字符串组合了必须输入的所有字符 已从名称中删除。默认情况下,将删除无效字符
~!@$%^&*()-=+\\\\\\]}[{';:/?。>,来自“验证名称”下的
numpy
文档:

deletechars
给出一个字符串,该字符串组合了必须输入的所有字符 已从名称中删除。默认情况下,将删除无效字符
~!@$%^&*()-=+\\\\\\]}[{':/?。>,您需要使用
deletechars
参数来控制从名称中删除的内容。通常,名称是“净化”的,因此它们将用作
重新排列
名称(即作为有效的Python变量/属性名称).过去我发现完成这项工作也需要
dtype=None
(现在可能会更正)

[1137]中的
:txt=b“”时间“,”点数:0“,”点数:1”
...: 0.0, 1.0, 2.0
...: 3.0,4.0,5.0"""
在[1141]中:np.genfromtxt(txt.splitlines(),分隔符=',',names=True,deletechars='',dtype=None)
出[1141]:
数组([(0,1,2.),(3,4,5.)],

dtype=[('Time','您需要使用
deletechars
参数来控制从名称中删除的内容。通常情况下,名称是“净化”的,因此它们将用作
recarray
名称(即作为有效的Python变量/属性名称)。在过去,我发现
dtype=None
也是获得这项工作所必需的(现在可以更正)

[1137]中的
:txt=b“”时间“,”点数:0“,”点数:1”
...: 0.0, 1.0, 2.0
...: 3.0,4.0,5.0"""
在[1141]中:np.genfromtxt(txt.splitlines(),分隔符=',',names=True,deletechars='',dtype=None)
出[1141]:
数组([(0,1,2.),(3,4,5.)],
数据类型=[('Time','
import numpy as np
data = np.genfromtxt(
    "min.csv",delimiter=",",names=True,
    deletechars="~!@#$%^&*()-=+~\|]}[{'; /?.>,<",
)
print data
print data.dtype
[( 0.,  1.,  2.) ( 3.,  4.,  5.)]
[('Time', '<f8'), ('Points:0', '<f8'), ('Points:1', '<f8')]
In [1137]: txt = b""""Time", "Points:0", "Points:1"
      ...: 0.0, 1.0, 2.0
      ...: 3.0,4.0,5.0"""
In [1141]: np.genfromtxt(txt.splitlines(),delimiter=',',names=True,deletechars='',dtype=None)
Out[1141]: 
array([( 0.,  1.,  2.), ( 3.,  4.,  5.)],
      dtype=[('Time', '<f8'), ('Points:0', '<f8'), ('Points:1', '<f8')])