Python Pandas错误:pandas只能使用.str访问器和string值
我有一个pandas脚本,我得到一个Excel工作表,并把它放在一个pandas数据框,然后我在这个数据框中查找一个特定的单词,然后我创build一个1和0的df掩码,在那里我find了单词。
我没有Excel表格的特定格式,所以我得到所有的信息,我find了这个词,并创build一个与此行产生的错误的面具:
mask = np.column_stack([df[col].str.find(word) for col in df.columns.tolist()]).astype(int)
这行有时会产生这个错误:
pandas只能使用带string值的.str访问器,它使用pandas中的np.object_ dtype
任何想法为什么以及如何使其工作?
谢谢
您可以使用lambda
函数的applymap
将dataframe转换为掩码。 如果df
是inputdataframe,则可以执行以下操作将所有字段转换为1
如果stringword
在其中),否则为0
。
mask = df.applymap(lambda x: 1 if word in str(x) else 0)