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

如何按行位置而非行标签获取DataFrame中指定行的数据

按行位置取DataFrame指定行数据的解决方案

你需要用到pandas专门用于整数位置索引的iloc索引器,它完全基于行的先后顺序取值,和行标签本身的取值无关,正好可以避免你担心的误取行标签匹配值的问题。

单组位置取值示例

假设你的位置列表为pos_list = [43,579,100],第二个DataFrame命名为df2,需要提取的目标列名为target_col,获取结果列表的代码如下:

# 取指定列对应位置的数值,转换为列表
selected_list = df2.iloc[pos_list, df2.columns.get_loc('target_col')].tolist()

# 如果需要提取整行数据,转换为嵌套列表可以用如下写法
# selected_rows = df2.iloc[pos_list].values.tolist()

嵌套位置列表批量处理示例

如果你存储最小值行位置的是嵌套列表,需要批量处理所有列的对应取值,可以用循环实现:

# 嵌套位置列表示例:每个子列表对应原DataFrame一列的最小值行位置
nested_pos = [[43, 120], [579, 32], [100, 890]]
target_col = "你要取值的列名"
col_index = df2.columns.get_loc(target_col)
result = []

for pos_group in nested_pos:
    group_vals = df2.iloc[pos_group, col_index].tolist()
    result.append(group_vals)

iloc的取值逻辑完全按照DataFrame展示的行顺序从0开始计数,无论你的行标签是乱序、非连续还是其他类型,都不会出现匹配错误的问题。

内容的提问来源于stack exchange,提问作者Regina Briseño

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:45:02