我需要將以下陣列轉換為資料框。
import numpy as np
import pandas as pd
arr = [[0, [0.13, 0.24, 0.19]],
[1, [0.10, 0.21, 0.06]],
[2, [0.40, 0.29, 0.25]]]
arr = np.array(arr, dtype=object)
arr = pd.DataFrame(arr)
print(arr)
上面的代碼給了我以下輸出:
0 1
0 0 [0.13, 0.24, 0.19]
1 1 [0.1, 0.21, 0.06]
2 2 [0.4, 0.29, 0.25]
但我想從陣列中創建以下資料框:
id c_0 c_1 c_2
0 0 0.13 0.24 0.19
1 1 0.1 0.21 0.06
2 2 0.4 0.29 0.25
如果有人幫助我解決這個問題,不勝感激。
uj5u.com熱心網友回復:
您可以更改要轉換為 DataFrame 的陣列。這使得創建像您的輸出一樣的 DataFrame 成為可能。
唯一剩下的就是更改列名。
import numpy as np
import pandas as pd
arr = [[0, [0.13, 0.24, 0.19]],
[1, [0.10, 0.21, 0.06]],
[2, [0.40, 0.29, 0.25]]]
arr = [[ele[0], *ele[1]] for ele in arr]
# No need to use numpy
# arr = np.array(arr, dtype=object)
arr = pd.DataFrame(arr)
columns = ['id', 'c_0', 'c_1', 'c_2']
arr.columns = columns
print(arr)
id c_0 c_1 c_2
0 0 0.13 0.24 0.19
1 1 0.10 0.21 0.06
2 2 0.40 0.29 0.25
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410645.html
標籤:
