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

pandas如何不通过索引、使用唯一标识获取指定行完整数据

解决方案

方法1:直接用布尔索引筛选(无需修改原表结构)

这是最直接的临时查询方案,不需要调整DataFrame的原有索引,直接对业务字段做匹配:

  • 按player_id查询:
# 单球员查询,返回匹配到的整行所有列
result = df[df['player_id'] == id_number]
# 也可以用loc写法,逻辑完全一致
result = df.loc[df['player_id'] == id_number, :]
  • 按姓名查询:
result = df[df['姓名'] == '目标球员姓名']
  • 批量查询多个球员时,用isin方法更简便:
# 同时查询id为1001、1005、1023的三名球员信息
result = df[df['player_id'].isin([1001, 1005, 1023])]

方法2:将player_id设为索引(高频查询推荐)

如果你需要频繁按player_id做查询,建议提前把业务字段player_id设置为DataFrame的索引,后续查询效率更高,也能直接用你之前熟悉的loc写法:

# 仅需执行一次索引设置
df = df.set_index('player_id')
# 后续直接用id查询即可
result = df.loc[id_number]

注意事项

  • 匹配前先确认字段类型一致:如果player_id在DataFrame里是字符串格式,查询时传入的id_number也要加引号,不要传入数值类型,否则会匹配不到结果。
  • 若返回空结果,优先检查输入的标识和表内对应字段的大小写、首尾空格是否一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:36:05