2
我試圖創建一個熊貓數據幀是這樣的:熊貓:創建其交換其他行的值,新列
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是隨機數列,x3的0行的值並且x2中的1個交換,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})
我不知道是否有任何更快或更優雅的方式,特別是如果我想有許多行(如百萬?),或者重新做一遍又一遍(如蒙特卡洛模擬)?取而代之的
[x2[i + 1] if i % 2 == 0 else x2[i - 1] for i in range(1000)]