无法找出numpy loadtxt命令中的数据类型有何问题

2024-06-18 15:21:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用loadtxt读入一个Ascii文件。文件看起来像这样

UT, L, R, LocT, MLT, MLAT
      240000      1.03033      1.06433      2.73627      2.93244      8.51725
      300000      1.01964      1.05914      3.07449      3.24764      6.54548
      360000      1.01194      1.05747      3.41200      3.56224      4.51283
      420000      1.00746      1.05935      3.74672      3.87489      2.44624
      480000      1.00702      1.06476      4.07669      4.18431     0.373423

但是,任何行中至少可以有9个字符。在

我一直在用这个密码

^{pr2}$

我得到一个错误,它是TypeError: data type not understood。当我使用小写的时候,我得到了同样的错误。但是在上面的一行,我在另一个文件中读,如果I是小写的,它就不起作用了,但是如果是大写的,它就可以了。在

我不知道错误发生在哪里,也不知道该如何纠正。任何想法都将不胜感激。在


Tags: 文件密码data错误ascii小写ut个字符
1条回答
网友
1楼 · 发布于 2024-06-18 15:21:11

在numpy里没有72位的浮动。在

指定'f8'/'I8',或者为了更容易阅读:np.float/np.uint。没有'f9'(这将是一个72位浮点)。在

请查看defining a dtype in numpy的文档。在

不过,对于你的情况,你可能不需要为此烦恼。在

如果您不需要结构化数组,那么就不要使用它。(如果您不知道什么是结构化数组,在这种情况下可能不需要它。)

只要做data = np.loadtxt("datafile.txt", skiprows=1)。如果您确实需要一个结构化数组,那么考虑执行data = np.genfromtxt("datafile.txt", names=True)。对于简单的情况,稍后将第一列强制转换为无符号整数比显式定义数据类型更容易。在

相关问题 更多 >