Pandas 在[Python]中的另一列中选择包含前x个唯一值的所有行

Pandas 在[Python]中的另一列中选择包含前x个唯一值的所有行,pandas,unique,Pandas,Unique,这是我试图完成的伪代码。我只想得到第2列中的前五个唯一值,然后根据这些值对整个数据帧进行子集。我在第一行得到这个错误: selected =df['col2'].unique().iloc[1:5] apples = df[df['col2'].isin([selected])] print(df) 唯一的问题是阵列切片 AttributeError: 'numpy.ndarray' object has no attribute 'iloc' 输出 可乐 0 3. 1. 13 2. 1.

这是我试图完成的伪代码。我只想得到第2列中的前五个唯一值,然后根据这些值对整个数据帧进行子集。我在第一行得到这个错误:

selected =df['col2'].unique().iloc[1:5]
apples = df[df['col2'].isin([selected])]
print(df)

唯一的问题是阵列切片

AttributeError: 'numpy.ndarray' object has no attribute 'iloc'
输出 可乐 0 3. 1. 13 2. 1. 3. 27 4. 4. 9 1. 20 13 27 1. 31 4. 35 4. 42 13 43 27 48 3. 59 4. 60 4. 67 4. 90 3. 95 4. 96 4. 98 13
df['col2'].unique()[:5]
df = pd.DataFrame({"col2":np.random.randint(1,50,100)})
df[df["col2"].isin(df['col2'].unique()[:5])]