python if语句字典与Series不兼容的索引器

标签 python pandas python-2.7

这个脚本:

for x in df.index: 
    if df.loc[x,'medicament1'] in dicoprix:
        df.loc[x,'coutmed1'] = dicoprix[df.loc[x,'medicament1']]

给出这个错误:

File "<ipython-input-35-097fdb2220b8>", line 3, in <module>
    df.loc[x,'coutmed1'] = dicoprix[df.loc[x,'medicament1']]

  File "//anaconda/lib/python2.7/site-packages/pandas/core/indexing.py", line 115, in __setitem__
    self._setitem_with_indexer(indexer, value)

  File "//anaconda/lib/python2.7/site-packages/pandas/core/indexing.py", line 346, in _setitem_with_indexer
    value = self._align_series(indexer, value)

  File "//anaconda/lib/python2.7/site-packages/pandas/core/indexing.py", line 613, in _align_series
    raise ValueError('Incompatible indexer with Series')

ValueError: Incompatible indexer with Series

但脚本正在运行,这意味着 df.loc[x,'coutmed1'] 获取了我想要的值。

我不明白我做错了什么?

我觉得问题出在这里

dicoprix[df.loc[x,'medicament1']]

最佳答案

当字典中的一个键引用多个值时会出现此问题!

关于python if语句字典与Series不兼容的索引器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815837/

相关文章:

python - 在 Kivy 中创建全局变量

python - 配置文件名约定

python - 在 django 中,有没有办法在单个查询中直接用相关对象注释查询?

python - TypeError 对象没有参数

python - 将 DataFrameGroupBy 对象中的每个分组列转换为列表

python-2.7 - 如何从 sqlalchemy 获取列名?

python - 为什么替换不起作用(不替换值)

python - 使用 Pandas Dataframe 仅选择一个日期小于另一个日期的行

python - Pandas:如何在二维以上构建数据?

Eclipse 中的 Python 错误 : SyntaxError: future feature print_function is not defined