微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dask - 非常大的 csv 数据集,第一列成为索引,列名获得偏移量

如何解决Dask - 非常大的 csv 数据集,第一列成为索引,列名获得偏移量

我正在尝试使用一组数百万行的 csv.gz 文件创建一个数据框。当使用较小版本的文件时,大约 3000 行,创建的数据框很好,输出显示如下:

   My1stColName   My2ndColName   My3rdColName
0  Datain1stCol   Datain2ndCol   Datain3rdCol
1  Datain1stCol   Datain2ndCol   Datain3rdCol
2  Datain1stCol   Datain2ndCol   Datain3rdCol
...
[3527 rows x 16 columns]

但是,当尝试仅导入一个包含 1.9m 行的大型数据集时,我丢失了索引列并且数据框返回(作为示例):

               My1stColName   My2ndColName   My3rdColName
Datain1stCol   Datain2ndCol   Datain3rdCol
Datain1stCol   Datain2ndCol   Datain3rdCol
Datain1stCol   Datain2ndCol   Datain3rdCol
...
[1940065 rows x 16 columns]

碰巧“Datain1stCol”是一个不会改变的静态值,但偏斜会抛弃其他一切。

我正在做以下事情:

df = dd.read_csv(filename,blocksize=None,names=['Datain1stCol','Datain2ndCol','Datain3rdCol','Datain4thCol','Datain5thCol','Datain6thCol','Datain7thCol','Datain8thCol','Datain9thCol','Datain10thCol','Datain11thCol','Datain12thCol','Datain13thCol','Datain14thCol',"Datain15thCol",'Datain16thCol'],dtype={'Datain1stCol':str,'Datain2ndCol':str,'Datain3rdCol':str,'Datain4thCol':float,'Datain5thCol':str,'Datain6thCol':str,'Datain7thCol':str,'Datain8thCol':str,'Datain9thCol':str,'Datain10thCol':float,'Datain11thCol':str,'Datain12thCol':float,'Datain13thCol':str,'Datain14thCol':str,"Datain15thCol":str,'Datain16thCol':str}
        )

当我尝试在读取时不命名列时,我得到了索引:

   Datain1stCol   Datain2ndCol   Datain3rdCol 
0  Datain1stCol   Datain2ndCol   Datain3rdCol
1  Datain1stCol   Datain2ndCol   Datain3rdCol
2  Datain1stCol   Datain2ndCol   Datain3rdCol
...
[1940065 rows x 16 columns]

我想保持 ColumnNames 不变。

出于本次测试的目的,我只引入了具有 190 万行的单个文件,但最终版本将引入大量这些数百万行的文件。我正在遍历文件列表并附加到另一个框架以将数据放入其自己的 npartition.... 最终结果我希望尽可能高效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。