[每日一练]利用.str.len()布尔值查询实现字数需求
该题目来源于力扣:
1683. 无效的推文 - 力扣(LeetCode)
题目要求:
表:Tweets
+----------------+---------+ | Column Name | Type | +----------------+---------+ | tweet_id | int | | content | varchar | +----------------+---------+ 在 SQL 中,tweet_id 是这个表的主键。 这个表包含某社交媒体 App 中所有的推文。
查询所有无效推文的编号(ID)。当推文内容中的字符数严格大于 15
时,该推文是无效的。
以任意顺序返回结果表。
查询结果格式如下所示:
示例 1:
输入: Tweets 表: +----------+----------------------------------+ | tweet_id | content | +----------+----------------------------------+ | 1 | Vote for Biden | | 2 | Let us make America great again! | +----------+----------------------------------+输出: +----------+ | tweet_id | +----------+ | 2 | +----------+ 解释: 推文 1 的长度 length = 14。该推文是有效的。 推文 2 的长度 length = 32。该推文是无效的。
思路流程:
看到字数要求,第一反应就是pandas特有的.str.len()函数来查询字数,但是注意,该函数返回的是布尔值,是一个pandas.Series对象,通常用来进行索引匹配。
代码实现:
import pandas as pddef invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:#将查询的布尔值结果保存到a中a=tweets['content'].str.len()>15#将a作为查询条件查询源数据,赋值给b中b=tweets[a]#返回我们想要的数据return b[['tweet_id']]