我有一个数据框df,其中包含a,b,c,d和e列。我想要的是在a,b和c的基础上按df分组。然后,对于每个组,我想删除该组中该列最频繁的值的列d和e的NULL值。然后最后为每个组删除重复项。
我正在执行以下过程:
final_df = pd.DataFrame()
grouped = df.groupby(['a', 'b', 'c'])
for _, group in grouped:
group = group.replace('', np.nan)
group = group.fillna(group.mode().iloc[0])
group.drop_duplicates(keep='first', inplace=True)
final_df = pd.concat([rows_to_insert, final_df])
但是迭代使我的处理过程非常缓慢。有人可以建议我更好的方法吗?
样本输入:
样本输出: