为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫数据框中的字符串但不在熊猫数据框的选定列中

熊猫数据框中的字符串但不在熊猫数据框的选定列中

犯罪嫌疑人X 2022-06-07 19:13:37
我有一个数据框,其中一列具有统一的字符串数据类型,对于特定字符串,我想检查它是否在该列中。我发现简单的比较给出了“假”,但是在检查了数据框本身之后,我验证了特定的字符串确实在该列中。另一方面,如果我将选定的列转换为一个集合,我会得到预期的行为。>>> 'string' in df['col_name']False>>> 'string' in set(df['col_name'])True为什么熊猫数据框有这种行为?检查对象是否在熊猫数据框列中的传统方法是什么?
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您需要将其df['col_name']转换为值列表。目前,它是一个series对象。

试试'string' in df['col_name'].values

'string' in df['col_name']正在搜索index该系列的


查看完整回答
反对 回复 2022-06-07
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

'string' in df['col_name']被翻译为df['col_name'].__contains__('string'). Series.__contains__方法将检查系列索引,而不是值。


下面是系列__contains__中的实现lib\site-packages\pandas\core\generic.py


def __contains__(self, key):

    """True if the key is in the info axis"""

    return key in self._info_axis


查看完整回答
反对 回复 2022-06-07
  • 2 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信