Панды - добавить заголовки столбцов в значения строк - PullRequest
0 голосов
/ 18 октября 2019

У меня есть некоторый DataFrame с такими столбцами, как columnA, columnB, columnC, columnD ... columnX.

Для всех строк в этих столбцах я хочу добавить префикс значений строк к самому имени столбца.

Для columnA, например:

столбец A 4
столбец A 10
столбец A 14

Для columnE, например:

columnE Apple
columnE Банан
columnE Апельсин

Каков наилучший способ сделать это для многих (~ 30) столбцов?

Ответы [ 3 ]

1 голос
/ 18 октября 2019

Вы можете попробовать вещание:

df.columns.values[None,:] + ' ' + df.astype(str)

Вывод для кадра данных из snowneji:

       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
1 голос
/ 18 октября 2019

Допустим, у вас есть следующий DataFrame. Использовать apply было бы просто:

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 голосов
/ 18 октября 2019

Это работает:

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

for header in column_subset:
    df[header] = header + df[header]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...