You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取DataFrame中匹配Value列最后3个唯一值的最后n行数据

实现代码

完整可运行代码如下:

import pandas as pd

# 构造示例DataFrame
df = {'Features':['A','A','A','A','C','C','C','C','B','B','B','B'],
      'Date':['1/3/2023','1/3/2022','1/3/2022','1/3/2021','1/3/2024','5/8/2020','5/8/2021','5/8/2022','6/1/2020','6/1/2019','5/8/2023','5/8/2023'],
      'Value':[2,9,4,7,4,5,7,8,0,3,9,9]}
df = pd.DataFrame(df)

# 自定义参数:取最后k个唯一值,返回最后n行
k = 3
n = 4

# 步骤1:获取Value列最后k个唯一值
# pandas的unique()方法默认按元素第一次出现的顺序返回唯一值,所以先将Value列逆序再取前k个,就能得到最后出现的k个唯一值
last_k_unique_values = df['Value'][::-1].unique()[:k]
# 步骤2:筛选Value匹配目标值的行,取最后n行
res = df[df['Value'].isin(last_k_unique_values)].tail(n)

print(res)

运行输出

Features       Date  Value
8         B   6/1/2020      0
9         B   6/1/2019      3
10        B  5/8/2023      9
11        B  5/8/2023      9

注:你给出的预期输出里索引标注有误,实际运行返回的4行内容与需求完全匹配,仅索引为原始DataFrame的真实索引。

内容的提问来源于stack exchange,提问作者user86907

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:39:05