python - 使用 Dask 加载多个 CSV 文件时混合列
问题描述
我试图用 dask 导入一堆 csv 文件,看起来我的列混在一起了。
import pandas as pd
import dask.dataframe as dd
import numpy as np
names = ['date', 'country', 'A', 'B']
dtypes = {'booking_date': object, 'booking_country': object,
'A': object, 'B': np.float32}
dask_df = dd.read_csv("folder/file_*.csv", dtype=dtypes,
header=None, names=names, skiprows=1)
数据框具有以下形状:
date country A B
0 2019-07-24 ALB XX 0.041786
1 2019-07-24 AND XX 0.022168
2 2019-07-24 ARE YY 0.177757
3 2019-07-24 ARM YY 0.024475
4 2019-07-24 AUT ZZ 0.287205
当我想继续使用它时,似乎 A 列和 B 列在某些列中混为一谈。有谁知道为什么会发生这种情况以及如何避免它?
如果我使用 glob.glob 创建文件列表,然后使用 pandas 循环遍历它,我就没有这个问题。难道这样做的全局方式是解释每个文件的标题,而 dask 不是,以防列混合在我的输入数据集中?
非常感谢您!
蒂姆
解决方案
谢谢您的帮助。
显然我的一些文件的列顺序错误,这是 dask 无法处理的。 https://github.com/d6t/d6tstack/blob/master/examples-dask.ipynb将解决这个问题,但我还没有时间测试它。
推荐阅读
- javascript - 如何删除页面消息?
- python - 函数中的 locals() 与 globals()
- python - 返回的列表与函数内部的不同
- datastax-enterprise - 如何将 DataStax Enterprise Studio 置于 SSL 后面?
- flutter - 使用 Column 内的 ListView 获得垂直视口的高度不受限制
- python - 如何使用 Python Gekko 修复 IPOPT 中的本地不可行性?
- bash - 在 bash 中更改 find -printf 的值
- c - 将 char 添加到字符串数组的中间
- reactjs - 将 React App 从 Codesandbox 部署到 Github Pages
- python - 处理失去精度的numpy数组