Я пытаюсь создать панда dataframe вроде этого:Панда: создать новый столбец меняющего значение других строк
x2 x3
0 3.536220 0.681269
1 0.681269 3.536220
2 -0.402380 2.303833
3 2.303833 -0.402380
4 2.032329 3.334412
5 3.334412 2.032329
6 0.371338 5.879732
. . .
Так x2 представляет собой столбец случайных чисел, и х3 имеет значение строки 0 и 1 в x2 заменены, значения 2 и 3 меняются местами и так далее. Мой текущий код выглядит так:
import numpy as np
import pandas as pd
x2 = pd.Series(np.random.normal(loc = 2, scale = 2.5, size = 1000))
x3 = pd.Series([x2[i + 1] if i % 2 == 0 else x2[i - 1] for i in range(1000)])
df = pd.DataFrame({'x2': x2, 'x3': x3})
мне интересно, если есть какой-либо быстрее или более элегантный способ, особенно если я хочу иметь много строк (например, 1 млн евро) или делать это снова и снова (например, моделирование методом Монте-Карло)?