У меня есть следующий незначительный пример:
df = pd.DataFrame({'col1': ['a', 'a', 'a', 'b', 'b'], 'col2': [80, 80, 443, 80,80], 'col3':['yes', 'no', 'yes', 'yes', 'no']})
dtypes:
df.dtypes
col1 object
col2 int64
col3 object
dtype: object
и группировка по:
df.groupby(['col1', 'col2']).col3.apply(lambda series: 'yes' in series.values).reset_index().dtypes
col1 object
col2 int64
col3 object
dtype: object
Но если я используюdask dataframe:
ddf = dd.from_pandas(df, npartitions=2)
ddf.dtypes
col1 object
col2 int64
col3 object
dtype: object
и группировка с использованием мета:
meta = make_meta({'col3': '?'})
meta.index = pd.MultiIndex(levels=[[], []], codes=[[],[]], names=['col1', 'col2'])
ddf.groupby(['col1', 'col2']).col3.apply(lambda series: 'yes' in series.values, meta=meta).reset_index().dtypes
col1 object
col2 object
col3 bool
dtype: object
col2 изменена на объект.Должен ли я по-другому использовать мета-кьюорд?