首页 > 解决方案 > DataFrame 的 Pandas 子集,每个类具有固定数量的值

问题描述

我有一个df包含 columnID和 column的 pandas DataFrame Type。这是一个例子:

print(df)

>>
+---------+---------+
|       ID|     Type|
+---------+---------+
|      AAA|        A|
|      BBB|        B|
|      CCC|        B|
|      DDD|        A|
|      EEE|        B|
|      FFF|        A|
|      GGG|        B|
+---------+---------+

从那个 DataFrame 中,我想提取一个子 DataFrame,其中X每个Type.

这是前面的示例(顺序无关紧要):

X = 2
new_df = do_something(df, X)
print(new_df)

>>
+---------+---------+
|       ID|     Type|
+---------+---------+
|      AAA|        A|
|      DDD|        A|
|      BBB|        B|
|      CCC|        B|
+---------+---------+

有没有一种简单的方法可以做到这一点?

标签: pythonpandas

解决方案


使用pandas.DataFrame.groupby.head

import pandas as pd

df.groupby('Type').head(2)

输出:

    ID Type
0  AAA    A
1  BBB    B
2  CCC    B
3  DDD    A

推荐阅读