Dask: AttributeError: 'DataFrame' object has no attribute '_getitem_array'
Dask: AttributeError: 'DataFrame' object has no attribute '_getitem_array'
我在 S3 存储桶上有一些数据想要使用。
我使用以下方法导入它:
import boto3
import dask.dataframe as dd
def import_df(key):
s3 = boto3.client('s3')
df = dd.read_csv('s3://.../' + key ,encoding='latin1')
return df
key = 'Churn/CLEANED_data/file.csv'
train = import_df(key)
我可以看到数据已正确导入使用:
train.head()
但是当我尝试简单操作时(taken from this dask doc):
train_churn = train[train['CON_CHURN_DECLARATION'] == 1]
train_churn.compute()
我有错误:
AttributeError Traceback (most recent call
last) in ()
1 train_churn = train[train['CON_CHURN_DECLARATION'] == 1]
----> 2 train_churn.compute()
~/anaconda3/envs/python3/lib/python3.6/site-packages/dask/base.py in
compute(self, **kwargs)
152 dask.base.compute
153 """
--> 154 (result,) = compute(self, traverse=False, **kwargs)
155 return result
156
AttributeError: 'DataFrame' object has no attribute '_getitem_array'
此处出现完整错误:Error Upload
如果它是 'CON_CHURN_DECLARATION' 上的逐行选择,您应该能够使用 :
过滤数据框
train_churn = train[train.CON_CHURN_DECLARATION==1]
我在尝试读取 s3 文件时遇到了类似的问题,最终通过将 dask 更新到最新版本解决了(我认为默认情况下以 one sagemaker 实例开头的已弃用)
Install/Upgrade 包和依赖项(来自笔记本)
! python -m pip install --upgrade dask
! python -m pip install fsspec
! python -m pip install --upgrade s3fs
希望对您有所帮助!
您可能使用的是旧版本的 dask。安装版本 2.13.0 为我解决了这个问题。
我对 dask(2.14.0 版)也有同样的问题。重新安装 dask 解决了我的问题。我相信以前安装的版本一定有问题。
我在 S3 存储桶上有一些数据想要使用。
我使用以下方法导入它:
import boto3
import dask.dataframe as dd
def import_df(key):
s3 = boto3.client('s3')
df = dd.read_csv('s3://.../' + key ,encoding='latin1')
return df
key = 'Churn/CLEANED_data/file.csv'
train = import_df(key)
我可以看到数据已正确导入使用:
train.head()
但是当我尝试简单操作时(taken from this dask doc):
train_churn = train[train['CON_CHURN_DECLARATION'] == 1]
train_churn.compute()
我有错误:
AttributeError Traceback (most recent call last) in ()
1 train_churn = train[train['CON_CHURN_DECLARATION'] == 1]
----> 2 train_churn.compute()
~/anaconda3/envs/python3/lib/python3.6/site-packages/dask/base.py in compute(self, **kwargs) 152 dask.base.compute 153 """ --> 154 (result,) = compute(self, traverse=False, **kwargs) 155 return result 156
AttributeError: 'DataFrame' object has no attribute '_getitem_array'
此处出现完整错误:Error Upload
如果它是 'CON_CHURN_DECLARATION' 上的逐行选择,您应该能够使用 :
过滤数据框train_churn = train[train.CON_CHURN_DECLARATION==1]
我在尝试读取 s3 文件时遇到了类似的问题,最终通过将 dask 更新到最新版本解决了(我认为默认情况下以 one sagemaker 实例开头的已弃用)
Install/Upgrade 包和依赖项(来自笔记本)
! python -m pip install --upgrade dask
! python -m pip install fsspec
! python -m pip install --upgrade s3fs
希望对您有所帮助!
您可能使用的是旧版本的 dask。安装版本 2.13.0 为我解决了这个问题。
我对 dask(2.14.0 版)也有同样的问题。重新安装 dask 解决了我的问题。我相信以前安装的版本一定有问题。