定义要默认选择/取消选择的列值

问题描述 投票:0回答:1

我想在一列中自动选择值-Step_ID。打算定义我要定义的Step_ID(如下面的代码所示),我要定义的是要排除第一个Step_ID和最后一个Step_ID。

df = df.set_index(['Step_ID'])

df.loc[df.index.isin(['Step_2','Step_3','Step_4','Step_5','Step_6','Step_7','Step_8','Step_9','Step_10','Step_11','Step_12','Step_13','Step_14','Step_15','Step_16','Step_17','Step_18','Step_19','Step_20','Step_21','Step_22','Step_23','Step_24'])]

是否可以选择排除列中的第一个和最后一个值?在此示例中,Step_1和Step_25。还是包含第一个值和最后一个值的所有期望值?在此示例中,Step_2-Step_24。

原因是文件的“ Step_ID”编号不同。由于我不必一直重新定义它,因此我希望有一个简化筛选的解决方案。有必要在“ Step_ID”列中排除第一个和最后一个值,但是STEP_ID的数量始终不同。

通过Step_1-Step_X,我需要Step_2-Step_(X-1)。

python pandas default-value identity-column
1个回答
0
投票

您可以通过rangef-strings生成所有步骤:

start = 2
end = 24
steps = [f'Step_{x}' for x in range(start, end + 1)]

df = df.set_index(['Step_ID'])
df.loc[df.index.isin(steps)]
© www.soinside.com 2019 - 2024. All rights reserved.