pandas方法.isin()自动转换元素比较中的数据类型?

时间:2017-11-15 15:39:45

标签: python-3.x pandas

想知道是否有人可以帮助我。当我获取包含字符串的常规python列表时,检查pandas系列(pla.id)是否具有与该列表中的值匹配的值。有用。

哪个很好,但我想知道它是如何将字符串与整数进行比较的......是否有某些文档表明在比较这些值之前它会在引擎盖下进行转换?

我无法在pandas文档的.isin()页面上找到任何内容。

enter image description here

另外有趣的是,当我尝试pandas索引时,由于类型比较而失败。 enter image description here

所以我的两个问题:

  1. 在进行值比较之前,pandas.series.isin(some_list_of_strings)方法是否会自动将系列中的值(int值)转换为字符串?

  2. 如果是这样,为什么pandas索引,即(df [df.series =='some value'])不做同样的事情?这背后的想法是什么?如果我想完成同样的事情,我将不得不做df [df.series.astype(str)=='']或df [df.series.astype(str).isin(some_list_of_strings)]来访问这些值匹配的df

  3. 经过一番挖掘后我认为这可能是由于pandas对象的数据类型?但我不明白为什么会这样。这也不能解释为什么以下工作...因为它是一个int dtype enter image description here 提前谢谢!

0 个答案:

没有答案