如何将 3 维列表转换为 Dataframe?
How to convert a 3 dimensional list into a 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 = 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
如果有人帮我解决这个问题,不胜感激。
您可以更改转换为 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
我需要将以下数组转换为数据帧。
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
如果有人帮我解决这个问题,不胜感激。
您可以更改转换为 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