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

如何在pandas DataFrame中根据行和列值查找对应元素

pandas按行/列取值方法说明

可以实现,pandas提供了多种和列表索引逻辑类似的取值方式,可按需选择:


1. 按整数位置取值(和列表索引逻辑完全一致)

用iloc方法即可完全对标Python列表的整数索引规则,行、列的计数都从0开始,和你举的L[2]取元素的逻辑完全匹配:

import pandas as pd
# 构造示例DataFrame
df = pd.DataFrame([
    [1,5,9],
    [2,6,10],
    [3,7,11],
    [4,8,12]
], columns=['col1', 'col2', 'col3'])

# 取第3行(索引为2)的整行数据,和L[2]的用法完全一致
print(df.iloc[2])
# 输出:
# col1     3
# col2     7
# col3    11
# Name: 2, dtype: int64

# 取第2行(索引为1)、第1列(索引为0)的单个元素
print(df.iloc[1, 0])
# 输出:2

2. 单个元素高性能取值

如果仅需要获取单个元素,推荐用iat(对应位置索引)或者at(对应标签索引),性能比iloc/loc高很多:

# iat按位置取单个元素
print(df.iat[2, 1])
# 输出:7

# at按行/列标签取单个元素
print(df.at[2, 'col3'])
# 输出:11

注意事项

  • 切片规则和Python列表保持一致,采用左闭右开逻辑,比如df.iloc[0:3]只会返回索引为0、1、2的前三行数据。
  • 注意区分位置索引和标签索引:iloc/iat仅接受整数位置参数,loc/at接受自定义的行/列标签参数,二者混淆会触发索引错误。

内容的提问来源于stack exchange,提问作者Ranjan Kumar Sahu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:27:05