对于第一个问题:
base = df.index.get_indexer_for((df[df.A == 2].index))
或者
base = df.index.get_loc(18)
要获得周围的环境:
mask = pd.Index(base).union(pd.Index(base - 1)).union(pd.Index(base + 1))
我使用索引和联合来删除重复项。您可能需要保留它们,在这种情况下可以使用
np.concatenate
注意第一行或最后一行的匹配:)

对于第一个问题:
base = df.index.get_indexer_for((df[df.A == 2].index))
或者
base = df.index.get_loc(18)
要获得周围的环境:
mask = pd.Index(base).union(pd.Index(base - 1)).union(pd.Index(base + 1))
我使用索引和联合来删除重复项。您可能需要保留它们,在这种情况下可以使用
np.concatenate
注意第一行或最后一行的匹配:)