如何return列与行的交集Python?

How to return the intersection of column and row in Python?

这里是菜鸟!

我想知道 return 从 Python 中的 table 行和列(两个输入)的交集的正确方法是什么。基本上等同于在 Excel 中使用 MATCH 和 INDEX 可以做的事情。 This is part of the table in Excel。以图片为例,输入将是一个系列值、一个尺寸值和来自列 header 的代码之一,它应该 return 正确的“EZ-...”匹配代码.

我对 Python 和 SQL 有基本的了解,所以如果答案是使用这两种语言中的任何一种或两种语言会更好。

我认为一种方法是在 SQL 中查询,但其中一列必须是一个变量(header 列中的代码),试图找到如何做到这一点但没有运气还好。

在此先感谢您的支持!

pandas 库 (docs) 提供了一套出色的工具来解决您的问题:

import pandas as pd

# Read data
df = pd.read_excel('path/to/excel/file.xlsx')

# Alternatively: Mock data for reproducibility
df = pd.DataFrame({
    'series': ['FP', 'FP', 'FP', 'FP', 'FP'], 
    'size': ['1/4"', '3/8"', '1/2"', '3/4"', '1"'],
    '70003': ['EZ-001D-3C', 'EZ-002D-3C', 'EZ-003D-3C', 'EZ-004D-3C', 'EZ-005D-C'],
    '70005': ['EZ-006D-3C', 'EZ-007D-3C', 'EZ-008D-3C', 'EZ-009D-3C', 'EZ-010D-3C'],
    '70006': ['EZ-011D-3C', 'EZ-012D-3C', 'EZ-013D-3C', 'EZ-014D-3C', 'EZ-015D-3C']
    })

# Example values
series_value = 'FP'
size = '1/4"'
column_code = '70003'

# Subset dataframe and select series (column) corresponding to column_code
result_series = df[(df['series'] == series_value) & (df['size'] == size)][column_code]

# Retrieve cell value
result_value = result_series.to_list()[0]
print(result_value)

# Result will be 'EZ-001D-3C'