gpt4 book ai didi

python - 检查索引 Pandas 中是否包含数字的问题

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:44 26 4
gpt4 key购买 nike

所以我有一个数据框,我们称它为 df1,如下所示。

    Index   ID
1 90
2 508
3 692
4 944
5 1172
6 1998
7 2022

现在,如果我调用 (508 == df['ID']).any() 它应该返回 true。但是,如果我有另一个数据框 df2,它看起来如下所示:

    Index  Num
1 83
2 508
3 912

我想检查 Nums 是否包含在来自 df1 的 ID 中,使用 iloc 返回 len() of unsized object 的错误。这是我使用的确切代码:

   (df2.iloc[1][0] == df2['ID']).any()

返回上面提到的错误。我也试过将变量设置为 df1.iloc[1][0],但没有用,在该变量上调用 int() 也没有用。谁能对此提供一些见解?

最佳答案

试着把它转过来。

(df1['ID'] == df2.iloc[1][0]).any()

True

这是由于 == 是如何处理传递给它的对象的结果。

在这种情况下,您拥有类型的第一个对象

type(df2.iloc[1][0])

numpy.int64

第二种类型

pandas.core.series.Series

==__eq__ 不能很好地处理这种组合。

但是,这也有效:

(int(df2.iloc[1][0]) == df1['ID']).any()

或者:

(int(df2.iloc[1, 0]) == df1['ID']).any()

关于python - 检查索引 Pandas 中是否包含数字的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38645562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com