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

如何用Python/Pandas获取透视表中指定userID的行索引编号?

解决方法

以下几种方案可以帮你获取目标userID对应的行索引编号:

  • 直接使用Index的get_loc方法(最简便):
    Pandas的Index对象自带get_loc()方法,能直接返回指定索引值的位置编号,代码如下:

    idx_num = movieUser_df.index.get_loc("641c87d06a97e629837fc079")
    

    如果你的索引存在重复值,这个方法会返回布尔数组,此时可以结合numpy.where()提取所有匹配的位置。

  • 结合numpy.where处理布尔数组:
    你之前得到的布尔数组可以用numpy.where()转换为索引编号,代码如下:

    import numpy as np
    # 获取所有匹配的索引位置,返回的是元组,取第一个元素为索引数组
    idx_array = np.where(movieUser_df.index == "641c87d06a97e629837fc079")[0]
    # 如果只有一个匹配项,取第一个元素就是目标编号
    idx_num = idx_array[0]
    
  • 重置索引后筛选:
    把原索引转为普通列,再通过筛选得到目标行的默认索引编号:

    # 重置索引,原索引会变成名为'index'的列(如果原索引有自定义名称会沿用)
    reset_df = movieUser_df.reset_index()
    # 筛选目标userID对应的行,取默认索引的第一个值
    idx_num = reset_df[reset_df['index'] == "641c87d06a97e629837fc079"].index[0]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:04:57