字符串函數
- 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 pddef 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 pddef 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 pddef 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 pddef 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 pddef find_patients(patients: pd.DataFrame) -> pd.DataFrame:return patients[patients['conditions'].str.contains('DIAB1')]