Pandas 频次统计、加入新的计数列并按某一列去重保留重复项最

2019-10-25  本文已影响0人  玖月初识

初始表结构:


data.png

去除 elder_no 为空的垃圾数据, 并重新排列行索引(删除会导致行索引断续)

df = df.dropna(subset=['elder_no']).reset_index(drop=True)

先添加新的一列 count (根据 elder_no 计数统计并把计数加入到新列)

df['count'] = df['elder_no'].apply(
                lambda x: dict(df['elder_no'].value_counts())[x])

# 相同的 "elder_no" count 数值一样
add count.png

去重, elder_no 重复项按照 atime 保留最近的一条

finnal_df = df.iloc[df.groupby(['elder_no']).apply(
                lambda x: x['atime'].idxmax())]
finnal.png
上一篇下一篇

猜你喜欢

热点阅读