需要将dic分配给Pandas Dataframe

时间:2018-07-04 20:02:23

标签: python pandas

尝试将字典分配给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

0 个答案:

没有答案