Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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.DataFrame'的结果映射到CSV_Python_Dask - Fatal编程技术网

Python 如何将'dask.DataFrame'的结果映射到CSV

Python 如何将'dask.DataFrame'的结果映射到CSV,python,dask,Python,Dask,我使用df=dask.dataframe.read\u csv('s3://bucket/*.csv')创建了一个数据帧。当我执行df[df.a.isnull()].compute操作时,我会得到一组与筛选条件匹配的返回行。我想知道这些返回的行属于哪些文件,这样我就可以研究为什么这些记录有空值。DataFrame有数十亿行,缺少值的记录是个位数。有没有一种有效的方法可以做到这一点?如果您的CSV文件很小,那么我建议为每个文件创建一个分区 df = dd.read_csv('s3://bucket

我使用
df=dask.dataframe.read\u csv('s3://bucket/*.csv')
创建了一个数据帧。当我执行
df[df.a.isnull()].compute
操作时,我会得到一组与筛选条件匹配的返回行。我想知道这些返回的行属于哪些文件,这样我就可以研究为什么这些记录有空值。
DataFrame
有数十亿行,缺少值的记录是个位数。有没有一种有效的方法可以做到这一点?

如果您的CSV文件很小,那么我建议为每个文件创建一个分区

df = dd.read_csv('s3://bucket/*.csv', blocksize=None)
然后计算每个分区的空元素数:

counts = df.a.isnull().map_partitions(sum).compute()
然后可以找到文件名

from s3fs import S3FileSystem
s3 = S3FileSystem()
filenames = s3.glob('s3://bucket/*.csv')
并将两者进行比较

dict(zip(filenames, counts))

如果您的CSV文件很小,那么我建议为每个文件创建一个分区

df = dd.read_csv('s3://bucket/*.csv', blocksize=None)
然后计算每个分区的空元素数:

counts = df.a.isnull().map_partitions(sum).compute()
然后可以找到文件名

from s3fs import S3FileSystem
s3 = S3FileSystem()
filenames = s3.glob('s3://bucket/*.csv')
并将两者进行比较

dict(zip(filenames, counts))