Pandas:用途结构包含有很多价值观

2024-09-29 23:31:34 发布

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

我有df,我需要使用str.contains,但我有很多条件,df1中都有。 我尽力了

df2[df2['url'].str.contains[df3['buys']]]但它返回

TypeError: 'instancemethod' object has no attribute '__getitem__' 怎么了?在

df2看起来像

                                                     url                  used_at  \
0      eldorado.ru/personal/order.php?step=confirm&Cu...  2016-04-01 00:16:46   
1      eldorado.ru/personal/order.php?step=confirm&Cu...  2016-04-01 00:19:56   
2      shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-01 00:29:17   
3      shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-01 00:29:43   
4      icashier.alipay.com/payment/payment-result.htm...  2016-04-01 00:30:11   
5      shoppingcart.aliexpress.com/order/confirm_orde...  2016-04-01 00:31:11   
6      icashier.alipay.com/payment/payment-result.htm...  2016-04-01 00:31:27   
7                  kupivip.ru/shop/checkout/confirmation  2016-04-01 00:49:13   
8                  kupivip.ru/shop/checkout/confirmation  2016-04-01 00:49:37   
9      lk.wildberries.ru/basket/orderconfirmed?orderI...  2016-04-01 01:25:25

df3看起来像

^{pr2}$

Tags: comurlruorderpaymentconfirmpersonaldf2
2条回答

IIUC您可以传递一个连接内容的正则表达式:

In [180]:
df = pd.DataFrame({'a':['hello','world','python']})
df1 = pd.DataFrame({'a':['hello','johnny']})
df[df['a'].str.contains('|'.join(df1['a']))]

Out[180]:
       a
0  hello

所以在你的情况下:

^{pr2}$

应该行得通

这里我展示join的结果:

In [182]:
'|'.join(df1['a'])

Out[182]:
'hello|johnny'

您需要括号:

df2[df2['url'].str.contains(df3['buys'])]

错误

^{pr2}$

是说你在一个不知道如何处理方括号的对象之后使用方括号。在

当您使用方括号时,python对带有方括号的对象调用一个方法__getitem__。在本例中,str.contains[]。您应该用括号str.contains()来调用它。在

问题2

这会帮你找到你需要的地方。记住,你可能还需要调整一下。而且,这是超级黑客。在

matches = pd.DataFrame([], df2.url, df3.buy).apply(lambda x: x.index.str.contains(x.name)).stack()
matches[matches].index.levels[0]

Index([u'eldorado.ru/personal/order.php?step=confirm&Cu...',
       u'icashier.alipay.com/payment/payment-result.htm...',
       u'kupivip.ru/shop/checkout/confirmation',
       u'lk.wildberries.ru/basket/orderconfirmed?orderI...',
       u'shoppingcart.aliexpress.com/order/confirm_orde...'],
      dtype='object', name=u'url')

相关问题 更多 >

    热门问题