在使用熊猫 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给他们。