DASK FROM_ARRAY将类型转换为对象

Dask from_array converts types to object(DASK FROM_ARRAY将类型转换为对象)

本文介绍了DASK FROM_ARRAY将类型转换为对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码,可以从一个数组创建一个DaskDataFrame。问题是所有类型都被转换为Object。我试图指定元数据,但找不到方法。如何在FROM_ARRAY中指定META?

b = np.array([(1.5, 2, 3, datetime(2000,1,1)), (4, 5, 6, datetime(2001, 2, 2))])
ddf = dd.from_array(b, columns=['col1', 'col2', 'col3', 'date1'], meta=['float', 'float', 'float', 'datetime'])

此操作引发AttributeError: 'list' object has no attribute '_constructor'

推荐答案

您可以将NumPy数组指定为结构化数组:

import numpy as np
import pandas as pd
import dask.dataframe as dd
from datetime import datetime

b = np.array([(1.5, 2, 3, np.datetime64(datetime(2000,1,1))), (4, 5, 6, np.datetime64(datetime(2001, 2, 2)))], dtype=([('col1','float32'),('col2','float32'), ('col3','float32'), ('date1','<M8[us]') ]))
ddf = dd.from_array(b, columns=['col1', 'col2', 'col3', 'date1'])

ddf.head()

这篇关于DASK FROM_ARRAY将类型转换为对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:DASK FROM_ARRAY将类型转换为对象

基础教程推荐