Вероятно, эффективно выполнить fillna
непосредственно на объекте groupby:
df = df.groupby(['id']).fillna(method='ffill')
Метод, на который ссылается здесь в документации.
Этот вопрос загружается, управляемый данными дизайн по сравнению с доменом управляемый дизайн. Для любого приложения, которое имеет хорошую сумму поведения, затем домен, управляемый дизайн должен быть предпочтен. Создание отчетов, или служебные приложения имеет тенденцию работать лучше (или более быстры для разработки) с управляемым данными дизайном.
То, что Вы спрашиваете, "должен моя компания делать фундаментальный сдвиг в том, как мы разрабатываем наш код". Как доменное пятно, моя реакция пищеварительного тракта состоит в том, чтобы кричать да. Однако по простой природе Вашего вопроса, я не уверен, что Вы полностью понимаете объем изменения, которое Вы предлагаете. Я думаю, что необходимо говорить больше с командой об этом.
Получите некоторую литературу, такую как книга DDD Evan или бесплатная электронная книга основ, и затем Вы будете в лучшем положении для оценки, какое направление необходимо пойти.
Ни в коем случае не MVC единственный шаблон разработки для сети, но это - полезное.
Принятие просто 'M' выплатит дивиденды, по-моему, даже если Вы будете мочь/, принимают 'V' или 'C'.
Подход, который Вы обсуждаете, считают хорошим многие люди, меня включенный! Изучение этого подхода потребует некоторого усилия, но не позволяет этому оттолкнуть Вас!
Что относительно того, чтобы просто пробовать маленький проект LINQ к SQL? Возможно, найдите хороший ссылочный проект на коде Google и учитесь, как другие работали с ним.
Это - простой инструмент и позволит Вам познакомиться с некоторыми проблемами, которые придумывают отображение объектов к базам данных.
Вы затем сможете получить ощущение его и решить, стоит ли это кривой обучения.
Будут новые понятия, чтобы схватить и экспериментировать с, вещи как:
customer.Orders.Count
но они - также причина многих проблем. Необходимо будет найти, что некоторые безопасные методы следуют при работе с ассоциациями. ... назвать некоторых.
Для начала, не волнуйтесь о наследовании и материале, только запустите простой и имейте простые объекты та карта к таблицам.
Попытайтесь использовать их таким же образом, Вы использовали бы свой существующий DAL. Затем начните экспериментировать с ассоциациями.
Затем, возможно, попытайтесь поместить больше поведения в свои объекты. Если Вы начинаете любить это и чувствуете, что нуждаетесь в большем количестве функций, рассматриваете испытание более многофункционального ORM как Lightspeed или NHibernate.
Надеюсь, это поможет!
Мне похоже, что Вы пытаетесь сделать то, что LINQ может уже сделать для Вас. Если Вы застреваете в более старой платформе, в которой Вы наклоняете использование, что, я мог бы предложить, чтобы Вы использовали Подконическое сечение (http://subsonicproject.com/) вместо того, чтобы иметь необходимость вручную создать все эти объекты модели вручную.
У меня был проект, где я был в подобном затруднительном положении и изменился на дозвуковой на полпути через с фантастическими результатами. Более быстрая разработка и НАМНОГО легче читать/использовать код.