Округление столбцов данных в соответствии с условием цикла for - PullRequest
1 голос
/ 21 февраля 2020

У меня есть мультииндекс, как это:

                            Capacity\nMWh  Day-Ahead\nMWh  Intraday\nMWh  UEVM\nMWh  ...  Cost Per. MW\n(with Imp.)\n$/MWh  Cost Per. MW\n(w/o Imp.)\n$/MWh  Intraday\nMape  Day-Ahead\nMape
Power Plants Date                                                                     ...
POWERP12     2020 January             4.00         1416.83        1135.76     875.97  ...                          0.968230                         1.326735        0.206331         0.280242
             2020 February            4.00          567.02         564.40     647.81  ...                          0.530140                         0.552554        0.138958         0.144021
             2020 March               0.00            0.00           0.00       0.00  ...                          0.000000                         0.000000        0.000000         0.000000
             2020 April               0.00            0.00           0.00       0.00  ...                          0.000000                         0.000000        0.000000         0.000000

Я пытаюсь создать функцию, которая округляет столбцы на основе указанного c слова или символа или что-то в имени столбца. Вот моя функция:

def column_rounder(df):
    for col in df.columns:
        if '\nMWH' in col: # Here is my condition, I want to find column name which contains '\nMWh'.
            df[col] = df[col].round(0)
    return df

К сожалению, я не могу изменить фрейм данных в для l oop, есть ли способ сделать это?

1 Ответ

0 голосов
/ 22 февраля 2020
def round(col):
    col = col+1
    return col

for col in df:
    df[col] = round(df[col])


...