Я хочу рассчитать массовый баланс через систему на Python.В моем текущем примере есть около 35 000 ежедневных записей, но я хочу повторно использовать код для примеров с гораздо большими данными.
У меня есть файл CSV, который собирает ежедневные данные для:
- Дата
- поток потока
- Количество осадков
- Приток
Я хочу рассчитать новые столбцы данных, которые смотрят как на предыдущий, так и на следующийдней данных.Например, я хочу вычислить дополнительные столбцы, которые представляют:
- Обход - часть ПРИТОКОВ, которые обходят средство (т. Е. Больше, чем пропускная способность) для пруда с влажной погодой
- Рециркуляционный поток - если текущие притоки меньше, чем мощность обработки, и насос поступает из пруда с влажной погодой обратно в установку для повторной обработки, если объем пруда> 0
- Ирригация - если количество осадков в предыдущие 3 дня <10 ммИ в течение следующих 5 дней осадков не будет, поливайте установленный объем </li>
- PondVolume - Предыдущий объем пруда + байпас - рециркуляция потока орошения
Я новичок в Python и подумал, что буду использоватьПанды для этих данных, так как я мог бы хранить все данные вместе.Я использовал np.where для простых условных вычислений с использованием ячеек в одной и той же строке.
bal['Q_IL2TR'] = np.where(bal['Q_PS2IL']<FullTreatementFloMLDs, bal['Q_PS2IL'], FullTreatementFloMLDs)
Можно ли выполнять итерацию по фрейму данных и создавать новые значения столбцов на основе ячеек в столбцах из предыдущих / следующих строк?Также это лучший подход к проблеме.