我想知道我们能在数组中逐行读取吗。例如:
array([[ 0.28, 0.22, 0.23, 0.27],
[ 0.12, 0.29, 0.34, 0.21],
[ 0.44, 0.56, 0.51, 0.65]])
要将第一行读取为数组形式以执行某些操作,然后继续执行第二行数组,请执行以下操作:
array([0.28,0.22,0.23,0.27])
产生上述数组的原因是这两行代码:
from numpy import genfromtxt
single=genfromtxt('single.csv',delimiter=',')
单个.csv
0.28, 0.22, 0.23, 0.27
0.12, 0.29, 0.34, 0.21
0.44, 0.56, 0.51, 0.65
使用readlines()
看起来像是生成列表而不是数组。在我的例子中,我使用的是csv文件。我试图逐行使用值的行,而不是将它们一起使用,以避免内存错误。有人能帮我吗?
with open('single.csv') as single:
single=single.readlines()
您可以使用
np.fromstring
见http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.fromstring.html 和How to read csv into record array in numpy?
似乎你没有用Python读取文件的经验。让我在Ipython的一个实践会话中详细地研究一个示例
创建多行文字以模拟文件
把它分成几行来模拟
readlines
的结果我可以用
genfromtxt
将它转换成一个数组(您可以像这样将结果传递给readlines
到genfromtxt
)。我可以遍历这些行,去掉
\n
并拆分成“,”我可以通过列表理解将每个字符串转换为一个浮点数:
或者把迭代放在另一个列表理解中,我可以得到一个数字列表:
我可以把它变成一个数组
genfromtxt
本质上就是通过这个序列——读取行,拆分行,将字符串转换为值,最后从列表中创建一个数组。有捷径可走,但我想你会受益于这些步骤的详细工作。这既是一个基本的Python字符串和列表操作的练习,也是一个关于数组的练习。
给出输出:
相关问题 更多 >
编程相关推荐