Pandas Join创建了不需要的副本,只需要第一个实例



我用重新定义的索引将两个数据框连接起来这是我们用来识别研究的数字,当我连接它们时它们是这样的

df1(包含所有研究编号):

p00

尝试使用drop_duplicateskeep="first",因为它是从最新到最旧的排序。然后合并键Index

df2 = df2.drop_duplicates(subset="Index", keep="first")
df = pd.merge(df1, df2, on="Index", how="left")
import pandas as pd
dict1 = {
'State': ['CA', 'NY', 'NJ'],
'PS': [0, 0, 1]
}
dict2 = {
'Study': ['Active', 'Active', 'Closed'],
}
df1 = pd.DataFrame(data=dict1, index=[1001, 1002, 1003])
df2 = pd.DataFrame(data=dict2, index=[1001, 1002, 1002])
print(df1)
print(df2)
answer = df1.join(df2).drop_duplicates(subset=['State', 'PS'], keep='first')
print(answer)
关键的是,drop_duplicate方法应该能够处理这种特殊情况

相关内容

  • 没有找到相关文章

最新更新