Python 代码中的突然错误

Python 代码中的突然错误,python,pandas,Python,Pandas,我有这个df: A B C D a d a z b c z c 我的目标是拉出df=='z'的列名,因此我使用: df['ColumnNames'] = df.where(df=='z' ).stack().reset_index().groupby('level_0')['level_1'].apply('+ '.join) 它过去工作得很好;但是今天我遇到了一个错误:“TypeError:无法将['

我有这个df:

A      B      C      D
a      d      a      z
b      c      z      c
我的目标是拉出df=='z'的列名,因此我使用:

df['ColumnNames'] = df.where(df=='z' ).stack().reset_index().groupby('level_0')['level_1'].apply('+ '.join)
它过去工作得很好;但是今天我遇到了一个错误:“TypeError:无法将['z']与块值进行比较”


有人知道为什么会这样吗?非常感谢

您的代码在我这边运行良好,请检查您的df中是否包含空格,并且我们会用

df[df=='z'].stack()
Out[216]: 
0  D    z
1  C    z
dtype: object

df[df=='z'].stack().index.get_level_values(1)
Out[218]: Index(['D', 'C'], dtype='object')
根据PiR的上述评论


我猜您有一个版本的pandas在比较int和str时会出错。请尝试df.astype(object)='z'您的代码在我这边运行良好,请检查您的df中是否包含空格,我们也用

df[df=='z'].stack()
Out[216]: 
0  D    z
1  C    z
dtype: object

df[df=='z'].stack().index.get_level_values(1)
Out[218]: Index(['D', 'C'], dtype='object')
根据PiR的上述评论


我猜您有一个版本的pandas在比较int和str时会出错。请尝试df.astype(object)='z'

我无法重现您的错误。最近几天您对python包做了任何更改吗?您是否尝试重新运行代码或重新启动jupyter笔记本?你的python和pandas版本是什么?我猜你的pandas版本在比较
int
str
时会出错。请尝试
df.astype(object)='z'
谢谢您的帮助。我从SQL中提取了数据,可能后端发生了一些变化,但我现在正准备修复它。@piRSquared请随意修改:-)创建社区:-)我无法重现您的错误。最近几天您对python包做了任何更改吗?您是否尝试重新运行代码或重新启动jupyter笔记本?你的python和pandas版本是什么?我猜你的pandas版本在比较
int
str
时会出错。请尝试
df.astype(object)='z'
谢谢您的帮助。我从SQL中提取数据,可能后端发生了一些变化,但我现在正准备修复它。@piRSquared可以随意修改它:-)创建社区:-)它不是一个空间或任何东西。我认为这一定是数据类型问题之一。我正要用df.astype(str)='z'来修复它。这很奇怪,因为我今天刚遇到问题,但还没好就解决了。@TylerNG啊哈,没关系,我会向社区做这个回答,并添加Pir的解决方案。这不是一个空间或任何东西。我认为这一定是数据类型问题之一。我正要用df.astype(str)='z'来修复它。这很奇怪,因为我今天刚刚遇到了问题,但还没好就解决了。@TylerNG啊哈,没关系,我会向社区做出这个回答,并添加Pir的解决方案