我不确定这个问题的措辞是否足够精确,我希望代码示例能够更好地解释这个问题
我有数据帧:
links title
url
https://example.com /feed.xml EXAMPLE
https://example.com /tags.html EXAMPLE
https://example.com /tags.html EXAMPLE
https://example.com /about EXAMPLE
https://example.com /feed.xml EXAMPLE
https://example.com /feed.xml EXAMPLE
https://example222.com /about/ EXAMPLE222
https://example222.com /about/ EXAMPLE222
https://example333.com /atom.xml EXAMPLE333
https://example333.com /archives EXAMPLE333
https://example333.com /about EXAMPLE333
https://example333.com /archives EXAMPLE333
索引设置为url。但我也可以把它当作一列数字索引
如何仅选择在links
列中同时包含.xml
和archive
字符串的索引(url)
即
https://example333.com /atom.xml EXAMPLE333
https://example333.com /archives EXAMPLE333
但不是
https://example222.com /about/ EXAMPLE222
https://example222.com /about/ EXAMPLE222
显然,即使只满足一个条件,simple.str.contains('archive|xml')
也会选择行
在本例中,它还将选择:
https://example.com /feed.xml EXAMPLE
https://example.com /tags.html EXAMPLE
这不是我想要的
有或没有set_index
的解决方案都是好的
如果您只想获取与条件匹配的URL,下面是代码:
执行groupby操作,然后应用自定义聚合函数:
结果:
第一个想法是使用^{} 表示
Series
,并转换为set
,如果每个组中都存在两个值,则进行比较:然后^{} 在原始数据中屏蔽,并用另一个条件链接
如果需要每个} :
url
的唯一值,请添加^{另一种方法是在2个helper列中计算匹配的值,并测试这两个列是否匹配inf,并将求和值与^{} 进行比较:
相关问题 更多 >
编程相关推荐