-
- 文章浏览 I
https://leetcode.cn/problems/article-views-i/description/?envType=study-plan-v2&envId=30-days-of-pandas&lang=pythondata
我的题解
import pandas as pddef article_views(views: pd.DataFrame) -> pd.DataFrame:df=views[views['author_id']==views['viewer_id']]df=df.sort_values('author_id')df=df.rename(columns={"author_id":"id"})df= df[['id']]df=df.drop_duplicates()return df
官方题解:
import pandas as pddef article_views(views: pd.DataFrame) -> pd.DataFrame:df = views[views['author_id'] == views['viewer_id']]df.drop_duplicates(subset=['author_id'], inplace=True)df.sort_values(by=['author_id'], inplace=True)df.rename(columns={'author_id':'id'}, inplace=True)df = df[['id']]return df作者:力扣官方题解
链接:https://leetcode.cn/problems/article-views-i/solutions/168689/wen-zhang-liu-lan-i-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收获:要记牢参数。
-1873. 计算特殊奖金
https://leetcode.cn/problems/calculate-special-bonus/description/?envType=study-plan-v2&envId=30-days-of-pandas&lang=pythondata
我的题解
import pandas as pddef calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:def func(x):x['bonus'] = x['salary'] if x['employee_id']%2==1 and x['name'][0]!='M' else 0 return xdf=employees.apply(lambda x: func(x) ,axis=1)df = df[['employee_id','bonus']]df=df.sort_values('employee_id')return df
官方题解:
def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:employees['bonus'] = employees.apply(lambda x: x['salary'] if x['employee_id'] % 2 and not x['name'].startswith('M') else 0, axis=1)df = employees[['employee_id', 'bonus']].sort_values('employee_id')return df作者:力扣官方题解
链接:https://leetcode.cn/problems/calculate-special-bonus/solutions/2366165/ji-suan-te-shu-jiang-jin-by-leetcode-sol-ipj4/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收获:可以把dtaframe的apply结果直接对一列赋值 ,之前习惯于赋值df。
employees[‘bonus’] = employees.apply(xxx)