Так что у меня две панды dataframes создан с помощьюKeyError с помощью `dask.merge()`
df1 = pd.read_cvs("first1.csv")
df2 = pd.read_csv("second2.csv")
Они оба имеют столбец column1
. Для двойной проверки,
print(df1.columns)
print(df2.columns)
оба возвращают колонку 'column1'
.
Итак, я хотел бы объединить эти два dataframes с DASK, используя 60 темы, локально (с помощью внешнего слияния):
dd1 = dd.merge(df1, df2, on="column1", how="outer", suffixes=("","_repeat")).compute(num_workers=60)
Это терпит неудачу с KeyError, KeyError: 'column1'
Traceback (most recent call last):
File "INSTALLATIONPATH/python3.5/site-packages/pandas/indexes/base.py", line 2134, in get_loc
return self._engine.get_loc(key)
File "pandas/index.pyx", line 139, in pandas.index.IndexEngine.get_loc (pandas/index.c:4443)
File "pandas/index.pyx", line 161, in pandas.index.IndexEngine.get_loc (pandas/index.c:4289)
File "pandas/src/hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13733)
File "pandas/src/hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13687)
KeyError: 'column1'
I подумал бы, что это параллелизуемая задача, т. е. dd.merge(df1, df2, on='id')
Есть ли для этого операция «эквивалентная дак»? Я также попытался переиндексации панд dataframes на chr
(т.е. df1 = df1.reset_index('chr')
), а затем попытался присоединиться по индексу
dd.merge(df1, df2, left_index=True, right_index=True)
Это не сработало, ту же ошибку.
http://dask.pydata.org/en/latest/dataframe-overview.html
Вы вызываете dd.merge на 'pandas.DataFrame' или на' Dask.dataframe'? –