1 回答

TA貢獻1829條經驗 獲得超6個贊
您可以分別為每個截止點執行以下操作:
df = df.set_index(['cond', 'Array'])
result = df.merge(df2, on=['cond', 'Array'])
result.loc[result.Marker < result.cutoff1, 'Marker'] = 0
result = result.drop(['cutoff1', 'cutoff2'], axis=1)
print(result)
輸出
cond Array X Y Marker Area
0 A S 1.0 3.10 0.00 3.000
1 A S 2.0 2.20 0.00 2.000
2 A S 2.0 2.40 2.55 2.440
3 A S 3.0 1.20 0.00 1.250
4 A S 5.1 1.50 3.21 0.156
5 A TT 3.0 2.10 0.00 2.880
6 A TT 1.0 1.20 2.01 1.330
7 A TT 4.0 1.50 0.00 1.530
8 A TT 7.3 1.33 3.20 1.000
9 B S 3.2 1.60 0.00 2.000
10 B S 9.9 0.90 7.06 6.900
11 B S 3.2 0.78 8.10 9.780
12 B TT 1.4 1.40 8.01 2.400
13 B TT 5.5 1.30 9.10 6.300
14 B TT 1.1 1.20 0.00 10.200
15 B TT 3.3 4.00 0.00 15.000
16 B TT 5.4 6.00 0.00 19.000
17 B SS 1.2 5.00 5.23 16.000
請注意,此示例僅適用于cutoff1.
添加回答
舉報