Jul*_*Das 3 python arrays numpy
此代码设置为读取两列数据,然后将第一列打印到第一个numpy数组中,然后将第二列打印到第二个numpy数组中.
def read2coldata(filename):
import numpy
b = []
f = open(filename,"r")
lines = f.readlines()
f.close()
for line in lines:
a = line.split()
for i in a:
b.append(i)
return (numpy.array(b[::2]),numpy.array(b[1::2]))
Run Code Online (Sandbox Code Playgroud)
但是这给出了:
(array(['1.5', '8', '16', '17'], dtype='|S3'), array(['4', '5', '6', '6.2'], dtype='|S3'))
Run Code Online (Sandbox Code Playgroud)
如何摆脱dtype="|S3"零件只是离开:
(array(["1.5","8","16","17"], array(["4","5","6","6.2"])
Run Code Online (Sandbox Code Playgroud)
在dtype="S3"你不想"走开".当您打印一个numpy数组时,它会为您提供其中的数据类型.它不是数据的一部分,它是关于程序如何存储和理解数据的信息.
在您的特定示例中,您读取数字,因此您可能希望在计算之后使用它们或其他任何东西,在这种情况下,您将希望数据被理解为数字(在您的情况下浮动).
目前它们被存储为字符串,这就是为什么你看到dtype="S3"哪个基本上意味着大小为3或更小的字符串类型.(这个)
我建议你替换你的函数:numpy.genfromtxt是一个将数据从txt文件加载到numpy数组的函数.
文档非常好,如果你花20分钟来理解参数,你会发现它非常有用.
array1 = numpy.genfromtxt('path_to_my_file.txt', usecols=0)
array2 = numpy.genfromtxt('path_to_my_file.txt', usecols=1)
Run Code Online (Sandbox Code Playgroud)
这应该让你开始.
| 归档时间: |
|
| 查看次数: |
3746 次 |
| 最近记录: |