我有一个熊猫数据框,如下所示:
public interface GerritAPI {
@GET("changes/")
Call<List<Change>> loadChanges(@Query("q") String status);
}
但是我想保留基于A和B列的唯一行。因此,我的输出应为:(保留重复的最后一个)
Retrofit
我使用了groupby,设置了索引和子集,但没有任何效果:
我希望,如果我使用以下内容,它将起作用,但不起作用:
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
GerritAPI gerritAPI = retrofit.create(GerritAPI.class);
Call<List<Change>> call = gerritAPI.loadChanges("status:open");
call.enqueue(this);
但是我没有得到想要的输出,列A的所有行都具有值10。帮助将不胜感激。
我正在使用Anaconda和Pandas 23.4版。
答案 0 :(得分:0)
您可能需要按所需方式对列进行排序。这样,最后一行(保留的那一行是正确的那一行)。
尝试:
df = df1.sort_values(by = ['A', 'B'}).drop_duplicates(subset=['A','B'], keep='last')
这会将最后一行保留为'A'和'B'的最大值的行