gpt4 book ai didi

python - isin() 准确性的一些问题

转载 作者:行者123 更新时间:2023-11-30 21:58:19 26 4
gpt4 key购买 nike

我对 isin() 函数准确性有一些问题。

我的 DataFrame 中有 abc 许多 ID:

df = DataFrame[DataFrame['id'].isin(IDs)]

但是结果:

print('abc' in df['id']) 
>> False

结果:

print('abc' in df['id'].unique())
>> True

最佳答案

如果将 inSeries 测试一起用于索引 docs 中的成员资格,则会出现问题.

df = pd.DataFrame({'id':['abc','sdf','ert']}, index=['s','d','f'])
print (df)
id
s abc
d sdf
f ert

print('abc' in df['id'])
False
print('abc' in df['id'].index)
False

因此,如果测试 Series.values 创建的 numpy 数组它按预期工作:

print(type(df['id'].values))
<class 'numpy.ndarray'>

print('abc' in df['id'].values)
True

因此,如果测试索引值:

print('d' in df['id'])
True
print('d' in df['id'].index)
True

编辑:如果使用 Series.unique它返回numpy数组:

print(df['id'].unique())
['abc' 'sdf' 'ert']

print(type(df['id'].unique()))
<class 'numpy.ndarray'>

print('abc' in df['id'].unique())
True

关于python - isin() 准确性的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54966721/

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