根据计数 1 在熊猫中创建 df >



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

Parcel      Permit     Town
123Q        ABC        BLD
1000        A45        BLD
9999        G5R        BLD
123Q        LK9        BLD
123Q        Q2W        BLD

因此,我的目标是创建一个提取包裹编号 123Q 的数据帧。

Use groupby.transform性能 aboolean indexing

df[df.groupby('Parcel').Parcel.transform('size')>1]

GroupBy.filter

df.groupby('Parcel').filter(lambda x: x.Parcel.size > 1)

输出

Parcel Permit Town
0   123Q    ABC  BLD
3   123Q    LK9  BLD
4   123Q    Q2W  BLD

这是DataFrame.duplicated的,参数keep=False,以保留所有重复的行。

df[df.duplicated('Parcel',keep=False)]
Parcel Permit Town
0   123Q    ABC  BLD
3   123Q    LK9  BLD
4   123Q    Q2W  BLD

另一种方法是使用value_countsmap和切片

df[df.Parcel.map(df.Parcel.value_counts() > 1)]
Out[1854]:
Parcel Permit Town
0  123Q   ABC    BLD
3  123Q   LK9    BLD
4  123Q   Q2W    BLD

最新更新