我有这段代码,我正试图颠倒该过程,以使A列不同后在B3和C3中获得相同的值。
df = pd.DataFrame({'A': np.random.randint(0, 10, 10)})
df['C'] = df['A']
df['B'] = df['A'].diff(periods=1)
df['B2'] = df['B'].shift(-2)
df['B3'] = np.where(df['B2'] > df['B'], 1, -1)
df['C2'] = df['C'].shift(-2)
df['C3'] = np.where(df['C2'] > df['C'], 1, -1)
这是结果:
A C B B2 B3 C2 C3
0 4 4 NaN -7.0 -1 1.0 -1
1 8 8 4.0 5.0 1 6.0 -1
2 1 1 -7.0 -3.0 1 3.0 1
3 6 6 5.0 -2.0 -1 1.0 -1
4 3 3 -3.0 6.0 1 7.0 1
5 1 1 -2.0 -4.0 -1 3.0 1
6 7 7 6.0 0.0 -1 3.0 -1
7 3 3 -4.0 1.0 1 4.0 1
8 3 3 0.0 NaN -1 NaN -1
9 4 4 1.0 NaN -1 NaN -1
我将如何反转差分的B3列以获得与C3相同的值?