字符串函数
- 1. 相关知识点
- 1.5 字符串的长度条件判断
- 1.6 apply映射操作
- 1.7 python大小写转换
- 1.8 正则表达式匹配
- 2.9 包含字符串查询
- 2. 题目
- 2.5 无效的推文
- 2.6 计算特殊奖金
- 2.7 修复表中的名字
- 2.8 查找拥有有效邮箱的用户
- 2.9 患某种疾病的患者
1. 相关知识点
1.5 字符串的长度条件判断
tweets=tweets[tweets['content'].str.len()>15]
1.6 apply映射操作
- 参数是一列(axis=0)或一行(axis=1)的数据
# a为一行数据 employees['bonus']=employees.apply(lambda a: a[2] if(a[0]%2==1 and a[1][0]!='M') else 0,axis=1)
1.7 python大小写转换
users['name'].map(lambda x: x[0].upper()+x[1:].lower())
1.8 正则表达式匹配
# index的值为True或False
index=users['mail'].str.contains("^[a-zA-Z][0-9a-zA-Z\\.\\_\\/\\-]*@leetcode.com$",regex=True)
2.9 包含字符串查询
patients[patients['conditions'].str.contains('DIAB1')]
2. 题目
2.5 无效的推文
import pandas as pd
def invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:
return tweets[tweets['content'].str.len()>15][['tweet_id']]
# return tweets[tweets['content'].apply(lambda x: True if len(x)>15 else False)][['tweet_id']]
2.6 计算特殊奖金
import pandas as pd
def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:
employees['bonus']=employees.apply(lambda a: a[2] if(a[0]%2==1 and a[1][0]!='M') else 0,axis=1)
return employees[['employee_id','bonus']].sort_values('employee_id')
2.7 修复表中的名字
import pandas as pd
def fix_names(users: pd.DataFrame) -> pd.DataFrame:
users['name']=users['name'].map(lambda x: x[0].upper()+x[1:].lower())
return users
2.8 查找拥有有效邮箱的用户
import pandas as pd
def valid_emails(users: pd.DataFrame) -> pd.DataFrame:
return users[users['mail'].str.contains("^[a-zA-Z][0-9a-zA-Z\\.\\_\\/\\-]*@leetcode.com$",regex=True)]
2.9 患某种疾病的患者
import pandas as pd
def find_patients(patients: pd.DataFrame) -> pd.DataFrame:
return patients[patients['conditions'].str.contains('DIAB1')]