这里是使用pandas的快速尝试。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A":[1,2,3,4,5], "B":[0.5,3,1,1,6]})
print df
这提供了
A B
0 1 0.5
1 2 3.0
2 3 1.0
3 4 1.0
4 5 6.0
df['difference'] = df.A - df.B
df['cross'] = np.sign(df.difference.shift(1))!=np.sign(df.difference)
np.sum(df.cross)-1
shift(1)
操作时会返回 NaN
。