Как уже упоминалось @DSM, вы можете сделать это так:
import numpy as np
import pandas as pd
data = np.array([[126, 188, 166, 1],
[111, 173, 149, 1],
[81, 119, 123, 2],
[83, 122, 124, 2],
[84, 122, 124, 2],
[255, 255, 255, 3],
[255, 255, 255, 3],
[255, 255, 255, 3]])
frame = pd.DataFrame(data=data, columns=["bBand","gBand","rBand","class"])
print(frame)
выход
bBand gBand rBand class
0 126 188 166 1
1 111 173 149 1
2 81 119 123 2
3 83 122 124 2
4 84 122 124 2
5 255 255 255 3
6 255 255 255 3
7 255 255 255 3
Нет необходимости изменять форму массива. Если вам нужны отдельные списки, вы можете попробовать это:
data = np.array([[126, 188, 166, 1],
[111, 173, 149, 1],
[81, 119, 123, 2],
[83, 122, 124, 2],
[84, 122, 124, 2],
[255, 255, 255, 3],
[255, 255, 255, 3],
[255, 255, 255, 3]])
for name, column in zip(["bBand","gBand","rBand","class"], data.T):
print(name, column)
выход
bBand [126 111 81 83 84 255 255 255]
gBand [188 173 119 122 122 255 255 255]
rBand [166 149 123 124 124 255 255 255]
class [1 1 2 2 2 3 3 3]
Наконец, вы можете установить значения напрямую:
bBand = list(data[:, 0])
gBand = list(data[:, 1])
rBand = list(data[:, 2])
_class = list(data[:, 3])