【发布时间】:2019-11-05 01:56:31
【问题描述】:
我有一个 csv 文件并尝试使用 numpy.loadtxt 打开它。 如果我使用 pandas 打开它,文件将如下所示:
小例子:
Name Accession Class Species Annotation CF330
NaN NaN NaN NaN NaN NaN
A2M NM_000014.4 Endogenous Hs NaN 11495.0
ACVR1C NM_145259.2 Endogenous Hs NaN 28.0
ADAM12 NM_003474.5 Endogenous Hs NaN 1020.0
ADGRE1 NM_001256252.1 Endogenous Hs NaN 42.0
我正在尝试使用 numpy.loadtxt 并使用以下代码打开文件:
with open('datafile1.csv') as f:
for line in f:
FH = np.loadtxt(line, delimiter=',', skiprows=1)
print(FH)
但它返回此错误:
ValueError: could not convert string to float:
你知道如何解决这个问题吗?
这里是原始数据集:
Name,Accession,Class,Species,Annotation,CF330
,,,,,
A2M,NM_000014.4,Endogenous,Hs,,11495
ACVR1C,NM_145259.2,Endogenous,Hs,,28
ADAM12,NM_003474.5,Endogenous,Hs,,1020
ADGRE1,NM_001256252.1,Endogenous,Hs,,42
【问题讨论】:
-
@Adam.Er8:我在最后添加了。
-
很好奇为什么要将不同类型的数据集加载到 numpy 数组中?回想一下数据框和数组之间的根本区别,其中数据框是等长的不同数据类型的集合,而数组在所有元素中保持单一类型。这里有字符串和数字,所以使用 pandas。
标签: python-3.x pandas csv numpy