Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Dask从二进制文件读取数据_Python - Fatal编程技术网

Python Dask从二进制文件读取数据

Python Dask从二进制文件读取数据,python,Python,我正在尝试用python实现k-means集群算法的核心外处理版本。我从这个git项目中了解了dask 我使用相同的git项目,但我试图加载二进制文件形式的数据。二进制文件包含每个具有1024个浮点特征的数据点 我的问题是,如果数据非常大,即大于可用内存本身,如何加载数据?我试图使用numpy的fromFile函数,但我的内核不知怎么死了。我的一些问题是: 是否可以将数据加载到从其他源创建的numpy中(该文件不是由numpy创建的,而是一个c脚本) 是否有dask模块可以直接从二进制文件加载

我正在尝试用python实现k-means集群算法的核心外处理版本。我从这个git项目中了解了dask

我使用相同的git项目,但我试图加载二进制文件形式的数据。二进制文件包含每个具有1024个浮点特征的数据点

我的问题是,如果数据非常大,即大于可用内存本身,如何加载数据?我试图使用numpy的fromFile函数,但我的内核不知怎么死了。我的一些问题是:

是否可以将数据加载到从其他源创建的numpy中(该文件不是由numpy创建的,而是一个c脚本)


是否有dask模块可以直接从二进制文件加载数据?我见过使用csv文件,但与二进制文件无关


我只涉猎过Dask,但是通过Dask delayed调用下面代码中的np.fromfile应该允许您懒散地使用它。也就是说,我自己也在研究这个问题,所以这是目前的部分答案

对于您的第一个问题:我当前加载由Labview程序创建的.bin文件,没有任何问题,使用类似以下代码:

import numpy as np
method = "b+r"  # binary read method
chunkSize = 1e6 # chunk as needed for your purposes
fileSize = os.path.getsize(myfile) 
data = []
with open(myfile,method) as file:
    for chunk in range(0,fileSize,chunkSize):
        data.append(np.fromfile(file,dtype=np.float32,chunk))
关于第二个问题:我在Dask中找不到任何处理二进制文件的东西。我发现转换成Dask可以使用的东西是值得的

如中所示,可以从单个文件中生成
dask.delayed
对象。然而,要像这个答案中所显示的那样将其分块可能并不简单。