使用pandas 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()之后的东西)
答案 0 :(得分:0)
您只能使用df.drop_duplicates()
,不使用列列表(子集)。
这样,您就不会设置任何子集,因此将检查行的唯一性 在所有列上。
如果要对一部分列执行此操作,则可以 写:
df[<column_list>].drop_duplicates()
即您只采用列的子集,然后应用 drop_duplicates 给他们。