Python 如何将drop_副本应用于分组数据帧?
我试图在分组数据帧的每个块中删除重复的行。一个玩具的例子是Python 如何将drop_副本应用于分组数据帧?,python,pandas,dataframe,grouping,Python,Pandas,Dataframe,Grouping,我试图在分组数据帧的每个块中删除重复的行。一个玩具的例子是 import pandas as pd import numpy as np arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], \ ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']] tuples = list(zip(*arrays)) index = pd.M
import pandas as pd
import numpy as np
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], \
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.ones([8,2]), index=index)
print(df)
输出为:
0 1
first second
bar one 1 1
two 1 1
baz one 1 1
two 1 1
foo one 1 1
two 1 1
qux one 1 1
two 1 1
然而,如果我尝试
print(df.groupby(level='first').apply(lambda d: d.drop_duplicates()))
然后我得到
0 1
first first second
bar bar one 1 1
baz baz one 1 1
foo foo one 1 1
qux qux one 1 1
是否有任何方法可以在不使用额外“第一”索引的情况下完成我需要的操作?将
group\u keys=False
传递到:
将组密钥=False传递给:
太简单了!万分感谢!太简单了!万分感谢!
In [273]:
df.groupby(level='first', group_keys=False).apply(lambda d: d.drop_duplicates())
Out[273]:
0 1
first second
bar one 1 1
baz one 1 1
foo one 1 1
qux one 1 1