У меня есть набор данных с несколькими столбцами, состоящий из нескольких потоков и их соответствующих аналогов из восходящего потока, если хотите. Например, если StreamX был загружен StreamY и StreamZ, его значениями «Upstream1» и «Upstream2» были бы StreamY и StreamZ, соответственно. Если у потока нет восходящего потока (так что это первый поток в его цепочке), восходящий поток называется «StartingStream». «Значение» представляет собой количество воды, уловленной одним потоком.
dataframe=pd.DataFrame(
{"Streamnumber":['1', '2', '3', '4', '5', '6'],
"Value":[3,4,2,5,3,5]
"Upstream1":['StartingStream', '1', '1', '3', 'StartingStream', '2'],
"Upstream2":['','','','','2','3'],
"Upstream3":['','','','','','5']})
Конечный продукт, который я ищу, - это модель, которая вычисляет для каждого потока общий объем воды, проходящей через сложение всех вышестоящих чисел "Value" с собственными. Однако это необходимо делать в том порядке, где вода начинает течь и где останавливается. Мой план на данный момент включает 3 шага:
- Добавить новый столбец с «максимальным количеством восходящих потоков»
- Добавить новый столбец с «Прямой объем воды выше по потоку + собственный объем воды»
- Рассчитайте «Прямой объем воды выше по потоку + собственный объем воды» в порядке «максимального количества потоков выше по потоку»
Я совершенно новичок в Python и довольно новичок в программирование в целом. Я не знаю, с чего начать. Это простой процесс, когда один из вас, Python волшебников, может быстро решить проблему или указать мне правильное направление на каждом этапе, по крайней мере?