循环通过过滤熊猫数据帧的最佳方式



我需要循环通过pandas DataFrame,但首先我必须对其进行过滤;old_id";s附加到每个新ID。

我写了这个代码,运行得很好,但它的伸缩性不太好。

d = dict()
for new_id in (new_id_list):

d[new_id] = df[df['new_id_col'] == new_id]['old_id'].nunique()

如何提高效率?

看起来您正在寻找groupby+nunique。这获取唯一的";old_id";s每";new_id_col":

out = df.groupby('new_id_col')['old_id'].nunique().to_dict()

最新更新