Моя функция суммы не суммирует значения некоторых столбцов - PullRequest
1 голос
/ 15 мая 2019

Итак, у меня есть фрейм данных, в котором есть несколько столбцов с вычисленными значениями или значениями из ввода:

Data = {'name':  ['a', 'b'],
        'number1': [5, 3],
        'number2': [3, 2]
        }
df = pd.DataFrame(Data, columns = ['name','number1', 'number2'])

Затем я напишу свою общую функцию следующим образом (пока не будем складывать имена):

df.loc['Grand Total']=df.sum()

И если я вычислю еще несколько столбцов ПОСЛЕ добавления строки Grand total, они получат также значение Grand total:

df['number3'] = df['number2'] * 2

Но проблема возникает, когда я хочу добавить любые столбцы, которые были проанализированы из таблицы, в некоторый файл Excel:

excelFile = pd.ExcelFile("my_excel_file.xlsx")
nrows = excelFile.book.sheet_by_index(2).nrows
values_from_Excel= excelFile.parse(2, skiprows=1, skipfooter= nrows-(8)).dropna(axis=1, how='all')
values_from_Excel = pd.DataFrame(
    {'name': values_from_Excel.iloc[:, 1].tolist(),
     'number4': values_from_Excel.iloc[:, 11].tolist()
    })

df = pd.merge(df, values_from_Excel, on='name', how='left')

После слияния этого столбца с df значение Grand total для number4 не рассчитывается ... В чем здесь проблема? ..

1 Ответ

0 голосов
/ 15 мая 2019

Назначьте его снова после всего кода (с axis=1):

...
df.loc['Grand Total']=df.sum(axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...