У меня проблемы при попытке назначить dict для df DataFrame,
df.loc[index,'count'] = dict()
как я получаю это сообщение об ошибке:
Incompatible indexer with Series
Чтобы обойти эту проблему, я могу сделать это,
df.loc[index,'count'] = [dict()]
, но мне не нравится это решение, так как я должен разрешить список, прежде чем получить словарь, т.е.
a = (df.loc[index,'count'])[0]
Как мне решить эту ситуацию более элегантно?
EDIT1
Один из способов воспроизвести весь код следующий:
Код:
import pandas as pd
df = pd.DataFrame(columns= ['count', 'aaa'])
d = dict()
df.loc[0, 'count'] = [d]; print('OK!');
df.loc[0, 'count'] = d
Выход:
OK!
Traceback (most recent call last):
File "<ipython-input-193-67bbd89f2c69>", line 4, in <module>
df.loc[0, 'count'] = d
File "/usr/lib64/python3.6/site-packages/pandas/core/indexing.py", line 194, in __setitem__
self._setitem_with_indexer(indexer, value)
File "/usr/lib64/python3.6/site-packages/pandas/core/indexing.py", line 625, in _setitem_with_indexer
value = self._align_series(indexer, Series(value))
File "/usr/lib64/python3.6/site-packages/pandas/core/indexing.py", line 765, in _align_series
raise ValueError('Incompatible indexer with Series')
ValueError: Incompatible indexer with Series