熊猫 - 有效的方法吗?

时间:2016-05-21 20:12:38

标签: python pandas filter dataframe multiple-columns

假设我有一个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)

但需要花费太多时间。有效率吗?

2 个答案:

答案 0 :(得分:3)

如果我理解正确,这应该有效:

df.groupby("c")["b"].nunique()

答案 1 :(得分:0)

df.groupby('c')['b'].value_counts()