首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用NumPy读取跨列分布的一维数据系列

使用NumPy读取跨列分布的一维数据系列
EN

Stack Overflow用户
提问于 2015-08-12 16:04:41
回答 1查看 199关注 0票数 0

在我的领域中,很多数据文件的格式是这样的:

代码语言:javascript
运行
AI代码解释
复制
1.0  0.4  -0.3  0.2  1.0
2.2 -0.3   3.2  2.2  1.2
0.5  0.3   0.3 -4.4  1.2
0.2  1.2  -0.6

其中表示的数据序列只是一个一维数组(它们被任意分组为每行5列,最后一行除外)。

我可以用下面的hack读到这篇文章

代码语言:javascript
运行
AI代码解释
复制
txtdata = open('data.dat').read().replace('\n', ' ')
data = np.fromstring(txtdata, sep=' ')

但肯定有更好的方法吧?不需要对数据迭代两次?loadtxtgenfromtxt似乎不支持这种方式。

EN

回答 1

Stack Overflow用户

发布于 2015-08-12 16:20:41

假设你没有多余的空格:

代码语言:javascript
运行
AI代码解释
复制
with open('file') as f:
    array = []
    for line in f:
        array.append([float(x) for x in line.split()])

您可以将循环压缩为嵌套的列表理解:

代码语言:javascript
运行
AI代码解释
复制
with open('file') as f:
    array = [[float(x) for x in line.split()] for line in f]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31970301

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文