我想在使用 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