0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55

Как использовать формулу Excel в Pandas ?

30.08.2021, 16:10. Показов 6508. Ответов 19

Студворк — интернет-сервис помощи студентам
Есть две столбца нужно выполнить определенную функцию из excel :=cумм($D3: D$4)/сумм($E3:E$4) в pandas
Пересмотрел многое уже ,заранее спасибо
Сумма по полю Вес
000
300
40
100
200
 
Сумма по полю Сляб
400
5000
15000
100
3000
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2021, 16:10
Ответы с готовыми решениями:

Как в pandas добавить запись в excel файл не перезаписывая его?
Я использую pandas для записи в файл Excel. Если использовать mode='a' то выскакивает ошибка. Помогите плз, кто знает. import requests ...

Как вывести таблицу excel с датами без времени в pandas dateframe
import pandas # созает DateFrame excel_data_df = pandas.read_excel('result.xlsx', sheet_name='Sheet', header=None) list =...

Как читать excel файл в pandas, если столбец содержит ведущие нули
Как читать excel файл в pandas, если столбец содержит ведущие нули. Например excel файл: Текст Номер test1 0013 test2 13 ...

19
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
30.08.2021, 16:45
Присвоить переменной объект типа pandas.DataFrame, созданный с помощью метода read_excel() и работать с DataFrame объектом используя функции библиотеки pandas.

Добавлено через 4 минуты
Для определения соотношения двух сумм можно использовать pandas.DataFrame.sum().
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
30.08.2021, 16:53
Yagozavr, это?
Python
1
2
3
4
5
6
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': np.zeros(5), 'B': np.zeros(5), 'C': np.zeros(5),'Вес': [0,300,40,100,200], 'Сляб': [400,5000,15000,100,3000]})
print(df)
print(df.iloc[2:4,3].sum()/df.iloc[2:4,4].sum())
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 09:09  [ТС]
 
Желаемый результат
0
0,055556
0,016667
0,021463
0,030769
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 10:18
Yagozavr,
Python
1
2
3
4
5
6
7
8
9
10
11
12
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': np.zeros(5), 'B': np.zeros(5), 'C': np.zeros(5),'Вес': [0,300,40,100,200], 'Сляб': [400,5000,15000,100,3000]})
#print(df)
df['res'] = df['Вес'].cumsum()/df['Сляб'].cumsum()
print(df)
print()
 
# Или
df['res'] = df.iloc[:, 3].cumsum()/df.iloc[:, 4].cumsum()
print(df)
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 10:31  [ТС]
Да огромное спасибо,
а можешь еще подсказать как вычислить по вот этой формуле = СУММ(D14:$D$18)/СУММ($D$14:$D$18)
Желаемый результат
1
0,98
0,77
0,13
0,12
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 10:49
Yagozavr,
Python
1
2
3
4
5
6
7
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': np.zeros(5), 'B': np.zeros(5), 'C': np.zeros(5),'Вес': [0,300,40,100,200], 'Сляб': [400,5000,15000,100,3000]})
 
df['res'] = df.iloc[1:4, 3].cumsum()/df.iloc[1:4, 3].sum()
print(df)
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 10:58  [ТС]
а блин забыл написать , D это столбец сляб
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 11:23
Yagozavr,
Python
1
2
3
4
5
6
7
8
9
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': np.arange(1,30) - 10})
 
start = int(input()) - 1 # номер строки начала диапазона
end = int(input()) # номер строки конца диапазона
df['res'] = 1 - (df.iloc[start:end, 0].cumsum() - df.iloc[:,0])/df.iloc[start:end, 0].sum()
print(df)
[start:end, 0] -> здесь 0 - номер столбца фрейма (нумерация в отличие от эксель с 0)
Этот код для -> = СУММ(D14:$D$18)/СУММ($D$14:$D$18)
Предыдущий для -> = СУММ($D$1418)/СУММ($D$14:$D$18)
Сорри, перепутал
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 11:36  [ТС]
а как получить вот такую формулу =(E14-$E$18)/$E$18
для столбца
 
1
0,98
0,77
0,13
0,12
 
Ожидаемые результаты
6,83
6,7
5,03
0,03
0
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 11:52
Yagozavr, Е14 == 1 и Е18 == 0.12 ?
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 11:53  [ТС]
да все так
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 12:06
Yagozavr,
Python
1
2
3
4
5
6
7
8
9
10
11
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': [0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.98,0.77,0.13,0.12]})
 
# 14 и 18 индексы соответствующих строк в эксель; 
# 14-1 -> из-за индексации с 0
# при [15,0] -> обращение к конкретной ячейке (абсолютная ссылка)
# при [15:, 0] -> обращение к текущей ячейке, начиная с 15 строки (относительная ссылка)
df['res'] = (df.iloc[14-1:, 0] - df.iloc[18-1,0])/df.iloc[18-1,0]
print(df)
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 12:09  [ТС]
а если это делать не через iloc?а
просто у меня сводная таблица сделанная через pandas и в ней 8 столбцов
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 12:32
Yagozavr,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': np.zeros(5), 'B': np.zeros(5), 'C': np.zeros(5),'Вес': [0,300,40,100,200], 'Сляб': [400,5000,15000,100,3000]})
 
# для наглядной демонстрации переименуем индексы 
ind = 'abcde'
df = df.rename(index={i: ind[i] for i in range(5)}) 
 
print(df.loc['b':'d','C':'Сляб']) # по названию
print()
print(df.iloc[1:4,2:5]) # по номеру
print()
print(df.ix[1:4,'C':'Сляб']) # по номеру и по названию
print()
print(df.ix['b':'d',2:5]) # по номеру и по названию
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 12:42  [ТС]
а как выбрать через iloc последнее значение ?
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 13:08
Yagozavr, как обычно в питоне через индекс "-1"
Python
1
df.iloc[-1,-1]
0
0 / 0 / 0
Регистрация: 13.07.2021
Сообщений: 55
31.08.2021, 13:12  [ТС]
вот смотри я правильно делаю
Python
1
table('res') = (table.iloc[1:4,0]-table.iloc[1:4,-1]/table.iloc[1:4,-1]
Почему получаются NaN в столбце 'res'
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
31.08.2021, 13:16
Последняя строка (серия):
Python
1
df.iloc[-1,:]
последняя строка (датафрейм)
Python
1
df.iloc[-1:,:]
Со столбцами аналогично...

Добавлено через 2 минуты
Yagozavr, потому что этот элемент не рассчитывался (не был задан). При "выравнивании" индексов пандас заполняет "пустые места" NaN-ми
0
0 / 0 / 0
Регистрация: 16.02.2022
Сообщений: 2
16.02.2022, 09:56
Доброго времени суток! Подскажите пожалуйста, читал ветку, сделал так:

Python
1
2
3
4
5
6
7
8
def kal1(level_info, sensor1_info):
    kal1 = pd.DataFrame({'P генератора': [level_info[0:6]], 'P датчика': [sensor1_info[0:6]]})
    kal1['Калибровка 1'] = kal1['P датчика'].cumsum()+kal1['P генератора'].cumsum()
    print(kal1)
    old_kal1 = pd.read_excel('kal1.xlsx', sheet_name="Калибровка 1")  
    frames = [old_kal1, kal1]
    result = pd.concat(frames)
    result.to_excel("kal1.xlsx", sheet_name="Калибровка 1", index=False)
Проблема в том, что при выгрузке, Excel не понимает, что с получившимися значениями нужно произвести операцию. Помогите
Миниатюры
Как использовать формулу Excel  в Pandas ?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2022, 09:56
Помогаю со студенческими работами здесь

Как правильно использовать формулу?
Здравствуйте. Имеется программа MathCad 15. Дана формула и даны значения. Как правильно использовать формулу в маткаде? Пришлю как я...

Как использовать в коде C++ объекты Excel из библиотеки Microsoft.Office.Tools.Excel.dll?
Использую Visual Studio Community 2015. Файл Microsoft.Office.Tools.Excel.dll легко подключается к проектам на С# и даёт использовать...

EXCEL+PANDAS
Добрый день.Хочу добавить столбец,но получаю ошибку Concatenation requires list-likes containing only strings (or missing values)....

Как добавить формулу в Excel?
Как добавить формулу в ячейку excel. Можно добавить как текст, но будет имя и надо будет нажимать enter при выборе ячейки чтобы обновить...

Как записать формулу в excel
Здравствуйте, помогите пожалуйста, необходимо составить таблицу в excel Как записать формулу у=x^2 + tg(5 x + C/x ) чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru