请查询出所有浏览过自己文章的作者
结果按照 id 升序排列。
查询结果的格式如下所示:
import pandas as pd
def article_views(views: pd.DataFrame) -> pd.DataFrame:
val_TF = views["author_id"]==views["viewer_id"]
df = views[val_TF]
df.drop_duplicates(subset="author_id", inplace=True)
df.sort_values(by=["author_id"], inplace=True)
df.rename(columns={"author_id":"id"}, inplace=True)
return df[["id"]]
详细看下过程数据
import pandas as pd
# 创建 DataFrame
data = {
'article_id': [1, 1, 2, 2, 4, 3, 3],
'author_id': [3, 3, 7, 7, 7, 4, 4],
'viewer_id': [5, 6, 7, 6, 1, 4, 4],
'view_date': ['2019-08-01', '2019-08-02', '2019-08-01', '2019-08-02', '2019-07-22', '2019-07-21', '2019-07-21']
}
views = pd.DataFrame(data)
val_TF = views["author_id"]==views["viewer_id"]
df = views[val_TF] #仅选择 views['author_id'] == views['viewer_id'] 为 True 的行。
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[["id"]]