首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫指数isin法

熊猫指数isin法
EN

Stack Overflow用户
提问于 2017-06-05 10:29:55
回答 2查看 8.6K关注 0票数 4

在处理熊猫索引时,我一直在使用isin方法,它总是返回False。

代码语言:javascript
复制
from pandas import DataFrame
df = DataFrame(data=[['a', 1], ['b', 2], ['c', 3]], index=['N01', 'N02', 'N03'])
df.index.isin(['01', '02'])

返回

代码语言:javascript
复制
array([False, False, False], dtype=bool)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-05 10:31:12

使用str.contains并传递一个regex模式:

代码语言:javascript
复制
In[5]: df.index.str.contains('01|02')

Out[5]: array([ True,  True, False], dtype=bool)

isin查找精确匹配,这就是为什么返回所有False数组的原因。

票数 5
EN

Stack Overflow用户

发布于 2017-06-05 11:19:14

在您的示例中,df.index.isin(['01', '02'])方法检查索引中值的每个是否为等于与范围内的值之一的(类似于SQL)。

因此,在您的例子中,检查是:'N01'=='01' or 'N01' == '02',它是False

在您的情况下,正确使用.isin()应该是:

代码语言:javascript
复制
from pandas import DataFrame
df = DataFrame(data=[['a', 1], ['b', 2], ['c', 3]], index=['N01', 'N02', 'N03'])
df.index.isin(['N01', 'N02'])

这将导致array([True, True, False], dtype=bool)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44366968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档