excel if和逻辑到数据帧



我有一个excel文件,我正试图转换为python代码,需要一些帮助:)我有一个像这样的数据帧:

Date    STD-3   STD-25  STD-2   STD-15  STD-1   Data    STD1    STD15   STD2    STD25   STD3
11.05.2022  -0,057406797    -0,047838998    -0,038271198    -0,028703399    -0,019135599    0,021233631 0,019135599 0,028703399 0,038271198 0,047838998 0,057406797

我需要检查这个逻辑:

"Data"& lt;"STD1"one_answers";Data"比;"STD-1"= 0

"Data"比;"STD1"one_answers";Data"& lt;"STD15">

= 1"Data"比;"STD15"one_answers";Data"& lt;"STD2"= 1, 5

"Data"比;"STD2"one_answers";Data"& lt;"STD25">

= 2"Data"比;"STD25"one_answers";Data"& lt;"STD3"5 = 2,

"Data"比;"STD3">

= 3"Data"& lt;"STD-1"one_answers";Data"比;"STD-15">

= 1"Data"& lt;"STD-15"one_answers";Data"比;"STD-2"= 1, 5

"Data"& lt;"STD-2"one_answers";Data"比;"STD-25">

= 2"Data"& lt;"STD-25"one_answers";Data"比;"STD-3"5 = 2,

"Data"比;"STD3">

= 3并将输出添加到新列中。

condition = [((df['DATA'] < df['STD1']) & (df['DATA'] > df['STD-1'])), ((df['DATA'] > df['STD1']) & (df['DATA'] < df['STD15'])), ((df['DATA'] > df['STD15']) & (df['DATA'] < df['STD2'])), ((df['DATA'] > df['STD2']) & (df['DATA'] < df['STD25'])), ((df['DATA'] > df['STD25']) & (df['DATA'] < df['STD3'])), df['DATA'] > df['STD3'], ((df['DATA'] < df['STD-1']) & (df['DATA'] > df['STD-15'])), ((df['DATA'] < df['STD-15']) & (df['DATA'] > df['STD-2'])), ((df['DATA'] < df['STD-25']) & (df['DATA'] > df['STD-3'])), df['DATA'] > df['STD-3']]
result = [0, 1, 1.5, 2, 2.5, 3, -1, -1.5, -2.5, -3]
df['RESULT'] = np.select(condition, result, None)

最新更新