pattern = re.compile(r'^https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+') valid_links = aa['News_url'].apply(lambda x: pattern.match(x) is not None) aa = aa.loc[valid_links] 上述代码中,aa = aa.loc[valid_links]和aa = aa[valid_links]的区别是什么
时间: 2024-04-16 18:29:39 浏览: 100
(?:pattern)的用法 表示此组不被捕获
在上述代码中,`aa.loc[valid_links]`和`aa[valid_links]`都用于根据条件筛选数据。它们的区别在于返回的结果类型不同。
1. `aa.loc[valid_links]`:使用`.loc`操作符,会返回一个与原始DataFrame具有相同索引的新DataFrame。这意味着返回的结果将保留原始数据的索引,并且返回的DataFrame的行数可能与原始DataFrame不同。
2. `aa[valid_links]`:直接使用布尔索引,将返回一个新的DataFrame,其中仅包含满足条件的行。返回的结果将重新计算索引,并且返回的DataFrame的行数将与满足条件的行数相同。
因此,主要区别在于返回的结果的索引和行数是否与原始DataFrame相同。根据您的具体需求,可以选择使用适当的语法来保留原始索引或重新计算索引。
阅读全文