Python >> Tutoriel Python >  >> Python Tag >> Pandas

Créer des pandas DataFrame à partir d'une image raster - une ligne par pixel avec des bandes en colonnes

Solution rapide

pd.DataFrame(array.reshape([3,-1]).T)

Explication

  1. Prenez un tableau de forme (3, x, y) et aplanir les 2e et 3e dimensions. À partir des documents numpy :Une dimension de forme peut être -1. Dans ce cas, la valeur est déduite de la longueur du tableau et des dimensions restantes.
reshaped_array = array.reshape([3,-1])
  1. Transposer le tableau pour obtenir un tableau de forme (x*y, 3)
transposed_array = reshaped_array.T
  1. Créer un DataFrame
pd.DataFrame(transposed_array)