我正在寻找最快的方法来做到以下几点:
我们有一个pd.DataFrame:
df = pd.DataFrame({
'High': [1.3,1.2,1.1],
'Low': [1.3,1.2,1.1],
'High1': [1.1, 1.1, 1.1],
'High2': [1.2, 1.2, 1.2],
'High3': [1.3, 1.3, 1.3],
'Low1': [1.3, 1.3, 1.3],
'Low2': [1.2, 1.2, 1.2],
'Low3': [1.1, 1.1, 1.1]})
Run Code Online (Sandbox Code Playgroud)
看起来像:
In [4]: df
Out[4]:
High High1 High2 High3 Low Low1 Low2 Low3
0 1.3 1.1 1.2 1.3 1.3 1.3 1.2 1.1
1 1.2 1.1 1.2 1.3 1.2 1.3 1.2 1.1
2 1.1 1.1 1.2 1.3 1.1 1.3 1.2 1.1
Run Code Online (Sandbox Code Playgroud)
我想知道的是High1,High2,High3浮点值中的哪一个是大于或等于High值的第一个.如果没有,那应该是np.nan
对于Low1,Low2,Low3值也是如此,但在这种情况下,其中一个是第一个低于或等于High值的值.如果没有,那应该是np.nan
最后,我需要知道哪一个,低或高是第一个.
解决这个问题的一种方法是以一种奇怪而不太高效的方式:
df['LowIs'] = np.nan …Run Code Online (Sandbox Code Playgroud)