我想標記一行,如果它們存在於數據框中。這裏是我的代碼片段:列表理解熊貓
MissingAATracking = []
for row in UK.UK:
if row in links_adobe_uk:
MissingAATracking.append("NO")
else:
MissingAATracking.append("YES")
我收到以下錯誤:
> --------------------------------------------------------------------------- TypeError Traceback (most recent call
> last) <ipython-input-94-5b85f0a628ec> in <module>()
> 1 for row in UK.UK:
> ----> 2 if row in links_adobe_uk:
> 3 MissingAATracking.append("NO")
> 4 else:
> 5 MissingAATracking.append("YES")
>
> /anaconda/lib/python3.6/site-packages/pandas/core/generic.py in
> __contains__(self, key)
> 905 def __contains__(self, key):
> 906 """True if the key is in the info axis"""
> --> 907 return key in self._info_axis
> 908
> 909 @property
>
> /anaconda/lib/python3.6/site-packages/pandas/core/indexes/base.py in
> __contains__(self, key) 1588 @Appender(_index_shared_docs['__contains__'] % _index_doc_kwargs)
> 1589 def __contains__(self, key):
> -> 1590 hash(key) 1591 try: 1592 return key in self._engine
>
> TypeError: unhashable type: 'list'
我已經在這裏看了:Python, TypeError: unhashable type: 'list'
UPDATE
這裏是頭我的英國數據框的外觀如下:
UK
0 Link1
1 Link1
2 Link1
3 Link1
4 Link1
和我links_adobe_uk:
PageURL
0 (null)
1 Link1
2 Link1
3 Link1
4 Link1
我也試圖從兩列下降重複,但我的英國數據幀拋出一個
TypeError: unhashable type: 'list'
,但我不能似乎遵循英國和links_adobe_uk被兩個數據幀。我會感謝這個
你正在努力探索從'UK'數據幀一排'links_adobe_uk'的問題,這是不可能的。你應該做的是每行提供一些唯一的鍵,或者使用索引來檢查行是否存在於另一個數據框中。 –
如果你顯示你的英國和links_adobe_uk數據框的幾行,你將會得到一個更有效的方式來做你想做的事。 – Allen
如果可能的話,還共享您的兩個數據幀的示例行。我們將能夠提供更好的幫助。 –