我有不同的縱向資料。我想創建一個“腳手架”資料框來加入這些資料。我有 N 個縱向個體,并且我知道每個時間序列分量應該是 Y 個周期長、均勻的縱向段。我試圖找出一種干凈的方法來構建這個腳手架資料名,一列用于個人 ID,另一列用于時間,而不使用回圈。假設 Y = 10。這是我的想法的演示,適用于兩個人:
timeseries = pd.DataFrame(np.arange(10),columns=['DATE'])
block1 = timeseries.copy()
block1['ID'] = 1
block2 = timeseries.copy()
block2['ID'] = 2
example = pd.concat([block1,block2])
example[['ID','DATE']]
用回圈 N 次來構建它并不是世界末日,但必須有更好的方法來做到這一點。
uj5u.com熱心網友回復:
用于assign串列理解和concat:
Y = 10
example = pd.concat([timeseries.assign(ID=n 1) for n in range(Y)])[['ID', 'DATE']]
選擇:
Y = 10
example = (pd.concat([timeseries]*Y)
.assign(ID=lambda d: np.arange(len(d))//len(timeseries) 1)
[['ID', 'DATE']]
)
輸出:
ID DATE
0 1 0
1 1 1
2 1 2
3 1 3
4 1 4
.. .. ...
5 10 5
6 10 6
7 10 7
8 10 8
9 10 9
[100 rows x 2 columns]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/527130.html
標籤:熊猫面板数据纵
