Уравнения и математика в питоне - PullRequest
0 голосов
/ 04 июля 2019

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

Пример: у меня есть числа в CSV-файле, a и b находятся в разных столбцах:

header1,header2
a,b
a1,b1
a2,b2
a3,b3
a4,b4
a5,b5
a6,b6

как бы создать что-то вроде

[a(b)+a1(b1)+a2(b2)...a6(b6)] /(divided by) [sum of (all b values)]

Хорошо, теперь я знаю, как кодировать знаменатель с помощью панд, но как бы я кодировал числитель?

Как называется этот процесс, и где я могу найти учебник для него?

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

Не уверен, что это лучший метод для использования, но вы можете использовать список пониманий вместе с функцией zip().С этими двумя вы можете получить такой знаменатель как:

[a*b for a, b in zip(df['header1'], df['header2'])]

Глава 3 из Погружение в Python 3 имеет больше возможностей для понимания списка. Здесь - документация по zip() и , здесь несколько примеров его использования.

2 голосов
/ 04 июля 2019

Я не знаю, лучший ли это метод, но должен работать.Вы можете создать новый столбец в pandas, который является продуктом a * b

df['product'] = df['a']*df['b']

Затем вы можете просто использовать sum(), чтобы получить сумму столбца b и продукта столбца, а затем разделить продукт на b:

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