pandas dataframe для добавления новых столбцов и изменения существующих столбцов, ориентированных на индекс - PullRequest
0 голосов
/ 04 октября 2018

У меня есть панды объекта dataframe, где я хочу добавить новые столбцы и изменить существующие столбцы, чтобы они стали индексом.Ниже показан dataFrame.

 >>> df
    {'FEQoS': [0.39, 15.24, 14.91], 'Tempus': [0.0, 0.0, 0.0], 'Voltus': [0.12, 3.22, 3.16], 'ICD PV': [0.01, 0.28, 0.28], 'CLS': [0.07, 1.96, 1.92]}
    >>> df1 = pd.DataFrame(df)
    >>> df1
       FEQoS  Tempus  Voltus  ICD PV   CLS
    0   0.39     0.0    0.12    0.01  0.07
    1  15.24     0.0    3.22    0.28  1.96
    2  14.91     0.0    3.16    0.28  1.92

То, что я пробовал, не удовлетворяет требованию:

>>> df1.stack().to_frame().T

Новый столбец, который я хотел бы объявить:

cols  = ['-1 day','-2 days','-3 days']

Требуется следующее:

        -1 day  -2 days  -3 days
FEQoS     0.39    15.24    14.91
Tempus    0.00     0.00     0.00
Voltus    0.12     3.22     3.16
ICD PV    0.01     0.28     0.28
CLS       0.07     1.96     1.92

Я изо всех сил пытался понять, используя следующую идею:

df1 = pd.DataFrame.from_dict(df, orient='index')
df1.columns = ['-1 day','-2 days','-3 days']

1 Ответ

0 голосов
/ 04 октября 2018

Ваше первое решение нуждается в транспонировании и возможно добавить index, которое транспонируется в столбцы:

df1 = pd.DataFrame(df, index=['-1 day','-2 days','-3 days']).T

А для вашего решения с DataFrame.from_dict нужно columns:

orient : {'columns', 'index'}, по умолчанию 'columns'

'' ориентация '' данных.Если ключи переданного dict должны быть столбцами результирующего DataFrame, передайте 'columns' (по умолчанию).В противном случае, если ключи должны быть строками, передайте 'index'.

df1 = pd.DataFrame.from_dict(df, orient='index', columns = ['-1 day','-2 days','-3 days'])

print (df1)
        -1 day  -2 days  -3 days
FEQoS     0.39    15.24    14.91
Tempus    0.00     0.00     0.00
Voltus    0.12     3.22     3.16
ICD PV    0.01     0.28     0.28
CLS       0.07     1.96     1.92
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...