我有一個dict資料'df':
df = {'index'/span>: [27, 28, 29, 30, 31] 。
'data': [[1, 2, 3, 4, 5, 6, 7】。]
[8, 9, 10, 11。12, 13, 14】。]
[15, 16, 17, 18, 19, 20, 21】。]
[22, 23, 24, 25。26, 27, 28】。]
[29, 30, 31, 32, 33, 34, 35]] }
我想把'data'鍵改成等效的轉置矩陣,我想把'index'鍵重復的次數與結果'data'鍵中的列數一樣多(本例中為5次)。
df = {'index'/span>: [27, 28, 29, 30, 31],[27, 28, 29, 30, 31] 。[27, 28, 29, 30, 31],[27, 28, 29, 30。31], [27, 28, 29, 30, 31] 。
'data': [[1, 8, 15, 22, 29]。
[2, 9, 16, 23, 30] 。
[3, 10, 17, 24, 31] 。
[4, 11, 18, 25, 32] 。
[5, 12, 19, 26, 33] 。
[6, 13, 20, 27, 34] 。
[7, 14, 21, 28, 35]}。
我應該如何進行?謝謝。
uj5u.com熱心網友回復:
df = {'index'/span>: [df['index'/span>]]*np. array(df['data']).T.shape[1] 。
'data':df['index']*np.array(df['data']) .T}
轉換為numpy陣列后對資料進行轉置,通過從轉置陣列的形狀推斷出的因子對索引進行平鋪。
uj5u.com熱心網友回復:
你可以用zip
df = {'index': [27, 28, 29, 30, 31] 。
'data': [[1, 2, 3, 4, 5, 6, 7】。]
[8, 9, 10, 11。12, 13, 14】。]
[15, 16, 17, 18, 19, 20, 21】。]
[22, 23, 24, 25。26, 27, 28】。]
[29, 30, 31, 32, 33, 34, 35]] }
df_new = {}
df_new['index'] = [df['index']]* len(df['data'] )
df_new['data'] = list(zip(*df['data'] )
print(df_new)
uj5u.com熱心網友回復:
嘗試from_records
out = pd.DataFrame.from_records(data=df['data'/span>],index=df['index'/span>]
Out[191]。
0 1 2 3 4 5 6
27 1 2 3 4 5 6 7
28 8 9 10 11 12 13 14
29 15 16 17 18 19 20 21
30 22 23 24 25 26 27 28
31 29 30 31 32 33 34 35
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/323982.html
標籤:
