算法篇汇总

  1. 文章浏览 I

https://leetcode.cn/problems/article-views-i/description/?envType=study-plan-v2&envId=30-days-of-pandas&lang=pythondata

我的题解:

import pandas as pd

def 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 pd

def 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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

收获:要记牢参数。

  1. 计算特殊奖金

https://leetcode.cn/problems/calculate-special-bonus/description/?envType=study-plan-v2&envId=30-days-of-pandas&lang=pythondata

我的题解

import pandas as pd

def 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 x
    df=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)

  1. 修复表中的名字

https://leetcode.cn/problems/fix-names-in-a-table/description/?envType=study-plan-v2&envId=30-days-of-pandas&lang=pythondata
我的题解:

import pandas as pd

def fix_names(users: pd.DataFrame) -> pd.DataFrame:
    users['name']=users.apply(lambda x:x['name'][0].upper()+x['name'][1:].lower(),axis=1)
    users=users.sort_values('user_id')
    return users

官方题解:

import pandas as pd

def fix_names(users: pd.DataFrame) -> pd.DataFrame:
    users["name"] = users["name"].str[0].str.upper() + users["name"].str[1:].str.lower()
    return users.sort_values("user_id")

作者:力扣官方题解
链接:https://leetcode.cn/problems/fix-names-in-a-table/solutions/2366177/xiu-fu-biao-zhong-de-ming-zi-by-leetcode-vrs5/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


import pandas as pd

def fix_names(users: pd.DataFrame) -> pd.DataFrame:
    users["name"] = users["name"].str.title()
    return users.sort_values("user_id")

作者:力扣官方题解
链接:https://leetcode.cn/problems/fix-names-in-a-table/solutions/2366177/xiu-fu-biao-zhong-de-ming-zi-by-leetcode-vrs5/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

收获:
1.字符串的title()函数。
2. dataframe对列操作.str后也可以再切片操作,之前知道可以str操作,不知道可以切片再操作。 users[“name”].str[0].str.upper()

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

  1. name

超链接
我的题解:


官方题解:


收获:

# 打印序号模板
if __name__ == '__main__':
    for i in range(4,100):
        print('{}. name'.format(i))
        print('\n\n')
        print('[超链接](超链接)')
        print('我的题解:')
        print('```python\n\n```')
        print('官方题解:')
        print('```python\n\n```')
        print('> 收获:')

你可能感兴趣的:(算法)