J'ai eu le Dataframe suivant: et je veux qu'il ressemble à: p> J'ai essayé d'utiliser pivot () un pivot_table () dans les pandas, mais j'ai toujours un keyError: p> a également essayé de définir l'index et la pile / instantané mais il ne semble pas fonctionner. P> Toute indices sur ce que je suis peut-être manquant / faire porter? P> Merci! P> P>
4 Réponses :
Ce dont vous avez besoin n'est pas de pivoter, mais de transposer le Dataframe. ici est la documentation. < Pré> xxx pré> p>
Ou pour être plus pythonique: df = df.t code>
Ou, encore plus simple, df.t code>
Cela correspondrait-il à la sortie de OP? L'as tu essayé?
DF.Transposez la production (ne semble pas fonctionner): `` `` <<
N'oubliez pas de appelez i> IT. df.transpose () code>. Le () code> b> est important.
@Idlehands merci pour l'indice. Fait fonctionner avec DF.Transpose (););
Vous pouvez utiliser l'outil Reshape pour le faire. Dans ce cas, vous voudrez vous assurer d'accéder aux valeurs de DataFrame et de le remodeler afin qu'il soit 1 rangée et autant de colonnes que nécessaire. Pour ce faire, vous devrez utiliser le code suivant ci-dessous:
pv_df = pd.DataFrame(df.values.reshape(1,-1))
Vous avez besoin de: sortie: p>
Merci pour vos gars de l'aide, je pourrais faire du travail en utilisant le code suivant:
name id nametype recclass mass (g) fall year reclat \ 0 Aachen 1 Valid L5 21 Fell 01/01/1880 12:00:00 AM 50.775 reclong GeoLocation 0 6.08333 (50.775000, 6.083330)
Vous pouvez toujours transposer le Dataframe à l'aide de DF.T. Comment avez-vous créé le Dataframe? Peut-être que le problème peut être résolu facilement en fixant cela.
Est-ce que votre
Dataframe code> Vraiment seulement 10 rangs longs, ou s'agit-il d'un exemple (et vous avez réellement un exemple de 10 * N> Dataframe code>)? Dans ce cas, un simple.t code> ne vous aidera pas et vous aurez besoin depivot code> après ungroupby.cumcount () code>, en supposant que votre Les rangées apparaissent toujours dans le même ordre@Alollz En effet, il s'agit d'un échantillon et non du grand Dataframe. Mon idée était la suivante: - Chargez un CSV dans un jeu de données. - Convertissez chaque ligne du jeu de données en DataFrame. - Testez les attentes de l'agaframe AgAist. La façon dont j'ai trouvé pour créer un formulaire de Dataframe une ligne de données est dt.values [loop_index]. Cela crée le Dataframe que j'ai posté dans ma question.
Donc, vous avez juste une colonne longue et vous devez prendre toutes les 10 rangées et les pivoter à une seule rangée avec 10 colonnes?
@Alollz Oui. Toutes les 10 rangées doivent être converties en une seule rangée avec 10 colonnes. Peut-être que je manque un moyen beaucoup plus facile de le faire. Mais depuis que je suis nouveau chez Pandas, je n'ai pas pu trouver quelque chose de plus simple.