基于 Count > 1 在 Pandas 中创建 df

Spi*_*zer 2 python-3.x pandas

我正在尝试根据值是否在列中多次出现来创建一个新的数据框。

Parcel      Permit     Town
123Q        ABC        BLD
1000        A45        BLD
9999        G5R        BLD
123Q        LK9        BLD
123Q        Q2W        BLD
Run Code Online (Sandbox Code Playgroud)

所以我的目标是创建一个数据框来提取包裹号 123Q。

ans*_*sev 5

Use groupby.transform性能 a boolean indexing

df[df.groupby('Parcel').Parcel.transform('size')>1]
Run Code Online (Sandbox Code Playgroud)

或者 GroupBy.filter

df.groupby('Parcel').filter(lambda x: x.Parcel.size > 1)
Run Code Online (Sandbox Code Playgroud)

输出

  Parcel Permit Town
0   123Q    ABC  BLD
3   123Q    LK9  BLD
4   123Q    Q2W  BLD
Run Code Online (Sandbox Code Playgroud)