检查组的所有成员是否具有相同的值,然后将它们全部放入一个数据框中

Mah*_*nia 3 python pandas

我有一个像下面这样的大数据框:

Letter      Action
a       Do
b       Do
b       Do
b       Do
b       Do
c       Do
c       Don’t
c       Don’t
c       Don’t
c       Do
c       Don’t
c       Don’t
c       Don’t
c       Do
Run Code Online (Sandbox Code Playgroud)

我需要获取所有行的操作的所有字母。

我想要的输出如下所示:

Letter      Action
a       Do
b       Do
b       Do
b       Do
b       Do
Run Code Online (Sandbox Code Playgroud)

我试过

df1 = df[(df.groupby('Letter', as_index=False).Action.nunique().eq(1))]
Run Code Online (Sandbox Code Playgroud)

但我无法得到我需要的东西。如果有人可以提供帮助,我将不胜感激。

WeN*_*Ben 5

试试 transform

df1 = df[(df.groupby('Letter').Action.transform('nunique').eq(1))]
Run Code Online (Sandbox Code Playgroud)

为了改进

df1 = df[(df.Action.eq('Do').groupby(df['Letter']).transform('all')]
Run Code Online (Sandbox Code Playgroud)