首页 > 解决方案 > Pandas:向其他数据集添加多个唯一值(如图所示):

问题描述

我需要根据公共A列中的值将C列(右表)中唯一值的数量添加到左表的相关行中(如图所示):

在此处输入图像描述

先感谢您

标签: pythonpandas

解决方案


Groupby第二个数据集中的 A列,并计算Ccount列中的每个唯一值。它与列A上的第一个数据集。如果需要,将列C重命名为C-count :merge

>>> count_df = df2.groupby('A', as_index=False).C.nunique()
>>> output = pd.merge(df1, count_df, on='A')
>>> output.rename(columns={'C':'C-count'}, inplace=True)
>>> output
   A   B  C-count
0  2  22        3
1  3  23        2
2  5  21        1
3  1  24        1
4  6  21        1

推荐阅读