diff --git a/01-ArticleViews-I.py b/01-ArticleViews-I.py new file mode 100644 index 0000000..b7f4d5e --- /dev/null +++ b/01-ArticleViews-I.py @@ -0,0 +1,19 @@ +# Problem 1 : Article Views I ( https://leetcode.com/problems/article-views-i/ ) + +import pandas as pd + +def article_views(views: pd.DataFrame) -> pd.DataFrame: + df = views[views['author_id']==views['viewer_id']]\ + .drop_duplicates(subset=['author_id'])\ + .sort_values(by=['author_id'])\ + .rename(columns={'author_id':'id'})[['id']] + return df + +#May be a bit faster on large datasets since it avoids creating a NumPy array + +def article_views(views: pd.DataFrame) -> pd.DataFrame: + + df = views[views['author_id']==views['viewer_id']] + df = df['author_id'].unique() + df = pd.DataFrame(df, columns=['id']) + return df.sort_values(by=['id']) \ No newline at end of file diff --git a/02-InvalidTweets.py b/02-InvalidTweets.py new file mode 100644 index 0000000..609fbb9 --- /dev/null +++ b/02-InvalidTweets.py @@ -0,0 +1,7 @@ +#Problem 2 :Invalid Tweets ( https://leetcode.com/problems/invalid-tweets/ ) + +import pandas as pd + +def invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame: + df = tweets[ tweets['content'].str.len() >15 ][['tweet_id']] + return df \ No newline at end of file