假设我有一个名为
df
的Pandas DataFrame,其中包含列a
和b
,我想要的是每个a
对应的不同b
值的数量。我可以执行以下操作:distcounts = df.groupby('a')['b'].nunique()
这将得到所需的结果,但它会作为Series对象而不是另一个DataFrame对象。我想要一个DataFrame对象。在常规SQL中,我会执行以下操作:
SELECT a, COUNT(DISTINCT(b)) FROM df
我还无法完全在Pandas中模仿这个查询。该怎么办?
reset_index()
方法:distcounts = df.groupby('a')['b'].nunique().reset_index()
或者将其转换为数据框:distcounts.to_frame()
。 - EdChum