Dedup 变量在数据帧上的特定变量中保持最大值或最小值 python

Dedup variable keeping max or min in specific variable on dataframe python

例如,我想删除一个 ID,它根据我要指定的变量保留最大值或最小值。我可以使用 pandas 中的某些函数来做到这一点吗? 数据作为数据框。 drop_duplicate() 没有帮助,因为它没有保留我想要的值,只是按顺序。

import pandas as pd
df = pd.DataFrame({
'ID': ['245', '144', '245', '245', '144'],
'Acesso': [3, 1, 1, 5, 2],
'Number': [4, 4, 2, 2, 5]
})

我想要像图片一样的输出,在“Acesso”中保留最小值,在“Number”中保留最大值,删除重复的“ID”。

您可以先将 AcessominID 分组,将 NumbermaxID 分组.

然后您只需将它们连接成一个 DataFrame。代码如下所示:

df_acesso_min = df.groupby("ID")["Acesso"].min()
df_number_max = df.groupby("ID")["Number"].max()

df = pd.concat([df_acesso_min, df_number_max], axis=1)

print(df)
#      Acesso  Number
# ID
# 144       1       5
# 245       1       4