这个脚本:
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/