我想标记一行,如果它们存在于数据框中。这里是我的代码片段:列表理解熊猫
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
如果可能的话,还共享您的两个数据帧的示例行。我们将能够提供更好的帮助。 –