python - 合并 Python 中的重复项(选择字段)

我想在使用 pandas 创建的 CSV 文件中合并重复项。如果年份相同并且带有标点符号和空格的小写标题也相同,我将 2 个条目标识为重复项。

请参阅重复条目的示例:

Title year cited_by_count pdf_url
"Article title" 2022 34 "Unknown"
"Article title" 2022 "Unknown" http://www.thisisalink.com/articleid.pdf

由于文章标题和年份相同,我不在乎我保留谁,但我想知道在“cited_by_count”和“pdf_url”的情况下是否有办法设置我保留谁的字段的条件,因为我会想要保留第一个条目的被引用计数,但第二个条目的 pdf_url 数据 value。

回答1

我敢肯定,有人会为此准备一个班轮,但作为初学者,我会喜欢以下内容:

df1 = df.loc[df.cited_by_count != "Unknown"].drop(['pdf_url'], axis=1) #slice by value and drop unwanted column
df2 = df.loc[df.pdf_url != "Unknown"].drop(['cited_by_count'], axis=1)
cols = ['Title', 'year']
df3 = pd.merge(df1,df2, on=cols, how='outer') #merge slices back

出去:

Title  year cited_by_count                            pdf_url
0  Article title  2022             34  www.thisisalink.com/articleid.pdf

相似文章

最新文章