当与一起使用时,使用OR运算符似乎只需要两个条件中的第一个条件np.哪里金融机构

2024-03-28 12:52:50 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我的数据集的一个小样本:

Search_Term    Exit_Page                  Unique_Searches    Exit_Pages_actual
nitrile gloves /store/catalog/product.jsp?        10        /store/catalog/product.jsp?
zytek gloves   /store/product/KT781010            20        /store/pro

所以这应该很容易,不知道为什么我不能让它工作。当退出页面中的所有字符在前10个字符是“/store/pro”或“/store/cat”时,我试图拉入“退出页面”实际列。如果不是这样的话,我希望它只从退出页面的前10个字符。正如您在上面所看到的,我的代码对目录很有效,但对产品无效(aka适用于我的目录中的第一个条件,而不是下面代码中的第二个条件)。怎么了?所以没有错误信息,只是没有给出正确的产品结果,只输出前10个字符,而不是整个字符串:

Exit_Pages['Exit_Pages_actual'] = np.where(Exit_Pages['Exit_Page'].str[:10]==('/store/cat' or '/store/pro'),Exit_Pages['Exit_Page'].str[:],Exit_Pages['Exit_Page'].str[:10])

Exit_Pages  

Tags: store代码pageexit页面pagesproductpro
1条回答
网友
1楼 · 发布于 2024-03-28 12:52:50

@tw-uxtli51nus在评论中基本正确。你知道吗

我们可以通过用()包装逻辑条件来实现您想要的功能 用“|”代替“或”。你知道吗

所以呢np.哪里看起来像:

df['new_col'] = np.where(
    (
    (df['Exit_Page'].str[:10]=='/store/cat')
    |
    (df['Exit_Page'].str[:10]=='/store/pro')
    )
    ,df['Exit_Page']
    ,df['Exit_Page'].str[:10])

因为这些东西看起来很难看,所以我想让它更具可读性。你知道吗

我们可以通过尝试一种类似于医生建议使用的技术来让我们的生活更轻松np.isin公司(): https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.where.html

但不幸的是,我没有正确的numpy版本来写出一个真实的例子。你知道吗

相关问题 更多 >