假设我有一个pandas数据框,其列为[' a',' b'' c']。所有这些都是整数类型。我想在列' b'中找到唯一值的数量。对应于列中的每个唯一值' c'并将其存储在新的数据框中。我怎么用熊猫这样做?我试过这样的事情:
new_df = pd.DataFrame()
for value in df['c'].unique():
x1 = df[df['c']==value]
x2 = x1['b'].unique().size
new_df.append({'A': x2, 'B': value}, ignore_index=True)
但需要花费太多时间。有效率吗?
答案 0 :(得分:3)
如果我理解正确,这应该有效:
df.groupby("c")["b"].nunique()
答案 1 :(得分:0)
df.groupby('c')['b'].value_counts()