Ce qui suit est un dataframe Pandas df
index_column value_column 0 20 2 28 1 30
Il doit être converti en un tableau numpy où index_column devient l'index de numpy array et value_column devient la valeur correspondante.
Soit np_arr [0] = 20 , np_arr [1] = 30 code>, np_arr [2] = 28 et ainsi de suite.
Comment y parvenir?
3 Réponses :
np_arr = df.value_column.values
@amandasmith: Ce que vous avez mentionné est un bon moyen de le faire.
np_arr = df.value_column.values
si le nom de votre colonne comporte des caractères spéciaux comme l'espace, utilisez ce qui suit:
np_arr = df ['temperature [Celsius]']. valeurs
Pandas utilise en interne np.arrays . L'attribut values est tout ce dont vous avez besoin:
df.value_column.values
est le np.array que vous voulez.
Et que se passe-t-il lorsque
index_columnn'est pas un RangeIndex commençant à 0? L'indexation des tableauxnumpyest basée sur 0, alors avez-vous besoin de cela pour fonctionner en général pour toute disposition d'index arbitraire?index_column aura de 0 à n lignes, où n est le nombre de lignes dans dataframe, mais elles peuvent ne pas être dans l'ordre croissant.
1) cela a déjà été demandé, et 2) veuillez ne suivre aucune des réponses ci-dessous si vous utilisez 0.24.