来自numpy的genfromtxt只从一个装满浮点数的csv文件中返回int

问题描述 投票:0回答:2

我目前正在为我的物理课做这个项目,包括从csv文件中获取数据并运行一些代码来分析wiffle球上的空气阻力。我的数据(来自csv文件)是所有浮点数,没有字符串,但我的代码有问题。当我在我的代码中添加来自numpy的genfromtxt的行时,起初我认为我的csv文件中的数字被添加为字符串,所以我打印出它创建的列表,它显示我的所有数据都存储为整数。

这是我用来导入文件的行:

    x = genfromtxt('Xpos.csv', delimiter=',')

这些是我的csv文件中的前10个数字:

0.659732735
0.746132896
0.806970832
0.881848293
0.966085435
1.017563689
1.101800832
1.190717816
1.256235594
1.317073531

这些数字显示在打印列表中,小数位被删除,因此只有0,0,0,0,0,1,1,1,1,1

python list csv numpy variables
2个回答
0
投票

如果这十个数字正是你的CSV文件中的那个,那就是为什么numpy会混淆!你告诉它期待一个分隔符','但在文件中没有逗号在任何地方!如果省略genfromtxt中的delimiter参数,它应该可以正常工作。

这看起来像是一个喜欢CSV文件的讲师的问题(我以前去过那里!)。他们制作所有逗号分隔的变量文件,然后实际上没有任何逗号,因此对于刚刚开始的新学生,他们会查看csv的含义并得出错误的想法。它是愚蠢的(在讲师部分)它应该只是一个txt文件,而这一切都不会发生。


0
投票

从genfromtxt中省略delimiter=','参数。 CSV文件实际上没有逗号,因此numpy变得混乱。如果你没有给它任何论据,那么它本身就可以做得很好。

© www.soinside.com 2019 - 2024. All rights reserved.