python - Python Pandas - 如何为列的每个唯一值仅选择前 N 行
问题描述
我有一个 DataFrame,我需要在 Company 列中选择不超过 3 行具有特定值的行:
姓名 | 工作 | 公司 |
---|---|---|
吉米 | 司机 | 亚马逊 |
凯特 | 司机 | 亚马逊 |
强尼 | 韦特 | 多米诺骨牌 |
标记 | 经理 | 亚马逊 |
雨果 | 经理 | 多米诺骨牌 |
卡尔 | 司机 | 亚马逊 |
吉米 | 经理 | 亚马逊 |
吉米 | 经理 | 多米诺骨牌 |
贝蒂 | 司机 | 亚马逊 |
应该变成:
姓名 | 工作 | 公司 |
---|---|---|
吉米 | 司机 | 亚马逊 |
凯特 | 司机 | 亚马逊 |
强尼 | 韦特 | 多米诺骨牌 |
标记 | 经理 | 亚马逊 |
雨果 | 经理 | 多米诺骨牌 |
吉米 | 经理 | 多米诺骨牌 |
我试过了,.groupby().size()
但我肯定错过了一些东西。
解决方案
简单地说,选项1:
df.groupby('COMPANY').head(3)
选项 2:您可以loop
通过列中的所有唯一值并打印输出:
for i in df['COMPANY'].unique():
x = df[df['COMPANY']==i].head(3)
print(x)
推荐阅读
- google-cloud-platform - 无法将数据集上传到 AutoML 自然语言文本分类 GUI
- javascript - 当我使用 cypress 时,如何阻止网站自动将我注销?
- javascript - 如何使用 expressjs 将我的数据保存在 mongoDB 上?
- java - 我应该在一个类中实现所有接口还是为每个类创建一个类?
- c# - 如何从控制器内重定向到 HTML 页面?
- python - 根据其他列值计算熊猫列值的百分比变化(随时间变化)
- spring-boot - 找不到类型为“org.springframework.web.reactive.function.client.WebClient”的 Bean
- c++ - 将参数包与 std::function 一起使用时出错
- c# - 从字典列表返回匿名列表
其中键等于一个值 - azure-devops - 积压的层次结构仅暂时显示,然后列表是平面的