从Pandas DataFrame删除重复项,并保留原始条件

从Pandas DataFrame删除重复项,并保留原始条件,第1张

从Pandas DataFrame删除重复项,并保留原始条件
>>> df    A   B0   1   Ms1   1   Ms2   1   Ms3   1   Ms4   1   PhD5   2   Ms6   2   Ms7   2   Bs8   2   PhD

使用自定义函数对数据框进行排序

def sort_df(df, column_idx, key):    '''Takes a dataframe, a column index and a custom function for sorting,     returns a dataframe sorted by that column using that function'''    col = df.ix[:,column_idx]    df = df.ix[[i[1] for i in sorted(zip(col,range(len(col))), key=key)]]    return df

我们的排序功能:

cmp = lambda x:2 if 'PhD' in x else 1 if 'Bs' in x else 0

实际上:

sort_df(df,'B',cmp).drop_duplicates('A', take_last=True)

    A   B4   1   PhD8   2   PhD


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存