首页 > 解决方案 > Pandas DataFrame 没有属性“is_monotonic_increasing”

问题描述

我有一个作为 Pandas DataFrame 读入的 .csv 文件。然后我尝试将其转换为 dask 数据帧,但这会导致错误'Index' object has no attribute 'is_monotonic_increasing'。我该如何纠正?

import pandas as pd
import dask.dataframe as dd
df = pd.read_csv('s3://my-bucket/data.csv')
df = dd.from_pandas(df, npartitions=5)
AttributeError                            Traceback (most recent call last)
<ipython-input-53-7f9c61e8a470> in <module>
----> 1 df = dd.from_pandas(df, npartitions=5)

~/anaconda3/envs/arsae-env/lib/python3.7/site-packages/dask/dataframe/io/io.py in from_pandas(data, npartitions, chunksize, sort, name)
    189         return new_dd_object({(name, 0): data}, name, data, [None, None])
    190 
--> 191     if sort and not data.index.is_monotonic_increasing:
    192         data = data.sort_index(ascending=True)
    193     if sort:

~/anaconda3/envs/arsae-env/lib/python3.7/site-packages/dask/dataframe/core.py in __getattr__(self, key)
   2403         elif key in self._dt_attributes:
   2404             return getattr(self.dt, key)
-> 2405         raise AttributeError("'Index' object has no attribute %r" % key)
   2406 
   2407     def __dir__(self):

AttributeError: 'Index' object has no attribute 'is_monotonic_increasing'

标签: pythonpandasdataframedask

解决方案


当我尝试DataFrame从另一个 dask创建一个 dask 时,它会引发同样的问题DataFrame

如果您更改 dask DataFrame 的名称怎么办?

import pandas as pd
import dask.dataframe as dd
df = pd.read_csv('s3://my-bucket/data.csv')
ddf = dd.from_pandas(df, npartitions=5)

推荐阅读