有没有一个熊猫方法可以实现与df.groupby(column_list).size().reset_index()相同



在使用熊猫 dfs 时,我经常发现自己想要从给定的列列表中提取一组值,如下所示:

>>> df
number   city       date
1        Denver     2019-01-14
1        Denver     2019-01-15
1        Denver     2019-01-15
2        Seattle    2019-03-22
2        Seattle    2019-03-22

这些场景会像

>>> df_sets
number   city        date
1        Denver_1     2019-01-14
1        Denver_1     2019-01-15
2        Seattle      2019-03-22

我知道你可以通过做

df.groupby(['number', 'city', 'date']).size().reset_index().drop(0, axis=1)

但我想知道是否有一种方法可以做到这一点(groupby((之后的东西(

您可以只使用 df.drop_duplicates() ,而不使用列列表(子集(。

这样,您无需设置任何子集,因此会检查行的唯一性在所有列上。

如果要对列的子集执行此类操作,可以写:

df[<column_list>].drop_duplicates()

即您只获取列的子集,然后应用drop_duplicates给他们。

相关内容

最新更新