如何使用Pandas获取含特定值的单元格及其所在行位置?
解决方法
直接用布尔索引筛选目标内容
拿生成的布尔Series直接过滤原数据,就能只保留匹配的行:# 获取包含所有列的匹配行 matched_rows = dataFrame[match] # 仅获取目标列的匹配值及对应行索引 matched_result = dataFrame[column][match]得到的
matched_result就是剔除了所有False对应项的Series,索引就是原数据的行位置。单独处理布尔Series
如果只想处理那个布尔Series本身,用loc提取True的条目:filtered_series = match.loc[match]此时
filtered_series里仅保留值为True的项,索引对应原行位置。快速获取单个匹配结果(确认仅一个匹配时)
要是你确定只有一个匹配项,直接拿索引再取值:# 获取匹配行的索引(行位置) match_row_index = match.idxmax() # 获取对应列的匹配值 match_value = dataFrame.loc[match_row_index, column]
内容的提问来源于stack exchange,提问作者user20985929
相关产品推荐
相关产品推荐

