想知道是否有人可以帮助我。当我获取包含字符串的常规python列表时,检查pandas系列(pla.id)是否具有与该列表中的值匹配的值。有用。
哪个很好,但我想知道它是如何将字符串与整数进行比较的......是否有某些文档表明在比较这些值之前它会在引擎盖下进行转换?
我无法在pandas文档的.isin()页面上找到任何内容。
另外有趣的是,当我尝试pandas索引时,由于类型比较而失败。
所以我的两个问题:
在进行值比较之前,pandas.series.isin(some_list_of_strings)方法是否会自动将系列中的值(int值)转换为字符串?
如果是这样,为什么pandas索引,即(df [df.series =='some value'])不做同样的事情?这背后的想法是什么?如果我想完成同样的事情,我将不得不做df [df.series.astype(str)=='']或df [df.series.astype(str).isin(some_list_of_strings)]来访问这些值匹配的df
经过一番挖掘后我认为这可能是由于pandas对象的数据类型?但我不明白为什么会这样。这也不能解释为什么以下工作...因为它是一个int dtype 提前谢谢!