我目前正在为我的物理课做这个项目,包括从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
如果这十个数字正是你的CSV文件中的那个,那就是为什么numpy会混淆!你告诉它期待一个分隔符','但在文件中没有逗号在任何地方!如果省略genfromtxt中的delimiter参数,它应该可以正常工作。
这看起来像是一个喜欢CSV文件的讲师的问题(我以前去过那里!)。他们制作所有逗号分隔的变量文件,然后实际上没有任何逗号,因此对于刚刚开始的新学生,他们会查看csv的含义并得出错误的想法。它是愚蠢的(在讲师部分)它应该只是一个txt文件,而这一切都不会发生。
从genfromtxt中省略delimiter=','
参数。 CSV文件实际上没有逗号,因此numpy变得混乱。如果你没有给它任何论据,那么它本身就可以做得很好。