1
데이터가 목록 배열 형태로되어 있습니다 ([['Manhattan', 142, 42], [...]]
). 나는 복수 인덱스가있는 pd.DataFrame
을 가지고 있는데 하나는 VAC
이라는 컬럼을 포함하고있다.튜플이 주어지면 팬더 다중 인덱싱이 성공하고 목록은 실패합니다.
다음은 올리는 ValueError
:
for vac_bbl in vac_bbls:
property_profiles['VAC'][vac_bbl] = None
역 추적 :
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-98-e8edfc85d7ba> in <module>()
1 for vac_bbl in vac_bbls:
----> 2 property_profiles['VAC'][vac_bbl] = None
C:\Anaconda3\envs\test\lib\site-packages\pandas\core\series.py in __setitem__(self, key, value)
751 # do the setitem
752 cacher_needs_updating = self._check_is_chained_assignment_possible()
--> 753 setitem(key, value)
754 if cacher_needs_updating:
755 self._maybe_update_cacher()
C:\Anaconda3\envs\test\lib\site-packages\pandas\core\series.py in setitem(key, value)
747 pass
748
--> 749 self._set_with(key, value)
750
751 # do the setitem
C:\Anaconda3\envs\test\lib\site-packages\pandas\core\series.py in _set_with(self, key, value)
795 self._set_values(key.astype(np.bool_), value)
796 else:
--> 797 self._set_labels(key, value)
798
799 def _set_labels(self, key, value):
C:\Anaconda3\envs\test\lib\site-packages\pandas\core\series.py in _set_labels(self, key, value)
805 mask = indexer == -1
806 if mask.any():
--> 807 raise ValueError('%s not contained in the index' % str(key[mask]))
808 self._set_values(indexer, value)
809
ValueError: ['Manhattan' 1750.0 53.0] not contained in the index
그러나 다음 잘 작동 :
for vac_bbl in vac_bbls:
property_profiles['VAC'][tuple(vac_bbl)] = None
는 왜입니까?
이렇게하면 다른 사람이 내 실수를 피할 수있게되기를 바랍니다. –
@MaxU 감사합니다! – piRSquared