Измените форму кадра данных pandas из (720, 720) в (518400,) 2D в 1D

У меня есть DataFrame с формой: 720*720 2D. Я хочу преобразовать его в 1D-размер без изменения его значений. Как я могу сделать это с помощью Pandas?


person Kaveh P. Yousefi    schedule 08.03.2019    source источник


Ответы (1)


Используйте numpy.ravel с преобразованным DataFrame в массив numpy:

np.random.seed(123)
df = pd.DataFrame(np.random.randint(10, size=(3,3)))
print (df)
   0  1  2
0  2  2  6
1  1  3  9
2  6  1  0

out = df.values.ravel('F')
#alternative for pandas 0.24+
#out = df.to_numpy().ravel('F')
print (out)
[2 1 6 2 3 1 6 9 0]

s = pd.Series(df.values.ravel('F'))
#alternative for pandas 0.24+
#s = pd.Series(df.to_numpy().ravel('F'))
print (s)
0    2
1    1
2    6
3    2
4    3
5    1
6    6
7    9
8    0
dtype: int32
person jezrael    schedule 08.03.2019