Python DataFrame如何获取G列前5条对应的A、B、C列数据?
获取G列前5条数据对应的A、B、C列内容
有几种简洁的方法可以实现需求,具体如下:
方法1:直接使用nlargest指定目标列
这是最直接的方式,无需额外排序步骤,直接从原DataFrame中提取G列前5大值对应的A、B、C列:
top5_rows = data.nlargest(5, 'G')[['A', 'B', 'C']] top5_rows
如果需要同时保留G列,只需把列列表改成['A', 'B', 'C', 'G']即可。
方法2:基于排序后的DataFrame提取
可以沿用你原本的排序逻辑,直接取排序后前5行的A、B、C列:
Ndata = data.sort_values('G', ascending=False) top5_rows = Ndata[['A', 'B', 'C']].head(5) top5_rows
方法3:利用已提取的G列数据的索引匹配
如果你想保留原有newcol的代码逻辑,可以通过它的索引来匹配原DataFrame中的对应行:
Ndata = data.sort_values('G', ascending=False) newcol = Ndata.loc[:, 'G'].nlargest(5) # 通过索引筛选目标列 top5_rows = data.loc[newcol.index, ['A', 'B', 'C']] top5_rows
内容的提问来源于stack exchange,提问作者shahzad
相关产品推荐
相关产品推荐

