-1
votes

Pandas - Ajoutez des en-têtes de colonne aux valeurs de ligne

J'ai du Dataframe avec des colonnes telles que colonne , colonne , colonnec , colonne ... < Code> Columnx .

Pour toutes les lignes de ces colonnes, je souhaite préfixer les valeurs de ligne avec le nom de la colonne lui-même.

pour colonne , par exemple:

Columina 4
Columna 10
Columna 14

pour columne , par exemple:

Columne pomme
Columne Banana
columne orange

Quelle est la meilleure façon de le faire pour de nombreuses colonnes (~ 30) colonnes?


0 commentaires

3 Réponses :


1
votes

Disons que vous avez le Dataframe suivant. Utiliser appliquer code> serait simple:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    np.ones((5,3)),
    columns = ['a','b','c']
)

print(df.apply(lambda col: col.name +" "+ col.astype(str) ))


Out[8]: 
      a     b     c
0  a 1.0  b 1.0  c 1.0
1  a 1.0  b 1.0  c 1.0
2  a 1.0  b 1.0  c 1.0
3  a 1.0  b 1.0  c 1.0
4  a 1.0  b 1.0  c 1.0


0 commentaires

1
votes

Vous pouvez essayer la diffusion: xxx

sortie pour la trame de données de Snowneji: xxx


0 commentaires

0
votes

Ceci fonctionne:

column_subset = ['columnA', 'columnB', 'columnC', 'columnD',
           'columnE']

for header in column_subset:
    df[header] = header + df[header]


0 commentaires