Я хочу создать сводную таблицу из данных клиента.Таблица Excel данных профилирования свойств.Данные включают в себя:
- Уникальный идентификатор
- Бизнес, проведенный из занятого имущества
- Код материала, использованного для строительства объекта
- Количествоэтажи здания и
- Оценка
Клиент требует совокупной оценки свойств на основе профиля риска (определяетсяколичество этажей - рассказы).Формат отчета показывает, что критерии профиля риска классифицируются как Низкие, Средние и Высокие в зависимости от количества публикаций.
Например, для кода материала 15-19 «Низкий риск» означает одноэтажное здание.Для того же диапазона кодов материалов средний риск определяется как 2-3-этажное здание, а высокий - более 3-х этажного здания.Вместо того, чтобы просто помечать их как низкий, средний или высокий, я хочу заполнить таблицу в том же формате, где вместо тега риска будет столбец суммы оценки.Другими словами, все местоположения, построенные с использованием масонства, будут агрегированы, а соответствующие итоговые суммы будут распределены по столбцам Низкий, Средний и Высокий в зависимости от количества этажей.
Чтобы решить эту проблему, я использовал выражение if elif,Сначала я создал столбец для определения риска, используя столбец с количеством этажей.Это дало мне для каждой строки любую из 3 записей - Низкая, Средняя, Высокая.Тот же способ был использован для создания столбца с именем Строительный материал.Почему-то я не могу собрать и распределить сумму оценки в 3 столбцах.
Любая помощь?
Мой пример кода, использованный для создания столбца тега - 'BldgMaterial':
def f(row):
if 19 > row['MaterialCode'] > 15:
print("Masonry")
elif 40 > row['MaterialCode'] > 30:
print("Concrete")
elif 60 > row['MaterialCode'] > 50:
print("Iron")
else:
print("Check")
return "x"