Попробуйте использовать pandas.DataFrame.apply () для расчетов.
Документ: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html
Используя ваш код:
[ 110]
Адаптация:
%%timeit
windowSizeInDays = 5
rows = 50
df_ = pd.DataFrame(index=range(rows),columns=['AsOfDate','WindowEndDate','X','SumOverNdays'])
asofdate = [datetime.date.today() + datetime.timedelta(days=i) for i in range(rows)]
windowenddate = [i + datetime.timedelta(days=windowSizeInDays) for i in asofdate]
df_['AsOfDate'] = asofdate
df_['WindowEndDate'] = windowenddate
df_['X'] = np.arange(float(df_.shape[0]))
df_['SumOverNdays'] = df_.apply(lambda x: df_.loc[ (df_["AsOfDate"] >= x['AsOfDate']) & (df_["AsOfDate"] < x['WindowEndDate']) ]["X"].sum(), axis=1)
df_
112 ms ± 3.69 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Не большая БОЛЬШАЯ разница, но в этом конкретном примере мы не можем добиться большего успеха ...
Это во многом зависит от того, как классическое приложение asp структурировано.
Тег сервера, смешанный в с HTML, подобен asp.net mvc, но MVC не как грязный (или не предположен быть). Вы смогли перемещать классический код презентации asp в представление MVC, легче, чем к веб-форме. Также классические приложения asp обычно разрабатывались с отсутствием гражданства сети в памяти. Вероятно, нет ничего у Вашего классического asp, который соответствует postabacks или состоянию отображения. Классический ASP также использует нормальные элементы HTML в противоположность средствам управления веб-формой asp.net. В этих отношениях это соответствует MVC намного ближе, чем веб-формы.
Если бы Вы не знаете веб-формы asp.net или asp.net mvc, я сказал бы, что MVC является способом пойти.
Если бы Вы знаете веб-формы очень хорошо и не знаете много о MVC, я сказал бы, что веб-формы являются способом пойти.
Но, если бы Ваш клиент по некоторым причинам хочет перестройку сайта, которые, как я сказал бы, идут с MVC. Всегда хорошо сделать, чтобы клиент заплатил за часть Вашей разработки опыта, пока можно поставить.
На другой ноте я всегда озадачиваюсь, когда я сталкиваюсь с клиентом, который хочет, чтобы я сделал работу над их классическим сайтом asp. В каждом случае сайт является путаницей. Худшая часть - то, что они обычно переполнены огромными дырами в системе безопасности.
Я думаю в большом количестве случаев, которые могло быть легче преобразовать в MVC, чем Веб-формы. Большинство классических приложений ASP демонстрирует очень мало разделения проблем, таким образом, самая большая задача состоит, вероятно, точно в том что, разделяя логику в доступ к данным, бизнес-логику, предприятия и компоненты UI. В выполнении этого могло быть легче преобразовать встроенный код ASP в представление, бизнес-логику в контроллеры и предприятия в модель.
Я не думаю, что можно было бы быть легче преобразовать затем другой.
Можно кодировать ASP.NET почти то же, как Вы кодируете ASP, если Вы хотели поместить несколько ключевых элементов в codebehind, к которому Вы могли получить доступ в aspx. Никакая привязка данных, никакой gridview и никакой повторитель. Состояние отображения там для помощи Вам, банку легко выяснить, не необходимо использовать его, если Вы не хотите и можете быть выключены в web.config и включены с атрибутом страницы. Веб-формы также имеют режим AspCompat, который предоставляет доступ к объектам Запроса и Ответа или asp, который будет допускать постранично преобразование при желании.
Что касается MVC.net, метод для отображения HTML весьма схож. Это, по-моему - то, где общие черты заканчиваются. Необходимо было бы все еще выделить все Вы логика в модель MVC.
Прибытие из ASP и движение к сети. Форма и теперь MVC.Net, я могу сказать Вам, что WebForms были немного раздражающими/печальными для изучения, с 90% учебных руководств MS, преподавая Вам худшие привычки IE (соединения SQL на странице, перетащив наборы данных вокруг в разработчиках). Однако, после того как Вы заканчиваете тот, может сделать много вещи намного более быстро затем у asp (разбиение на страницы или создавать простую таблицу данных с редактированием, например), я однако ВСЕ ЕЩЕ никогда не видел большой проект веб-форм с дизайном n-tier, что я думал, было легко следовать, реализовать и использовать.
MVC.NET похож на удачу. Это вызывает шаблоны и методы вниз Ваше горло, это имеет строгие правила, которые придерживаются к большинством. Это допускает легкое покрытие кода и разделение проблем. Будучи разбитым веб-формами в течение многих лет наконец такое чувство, что я не взламываю вещи вместе при попытке сделать что-то, что я не могу перетащить от панели инструментов.
Я лично попробовал бы веб-формы, таким образом, Вы будете знать, насколько лучше MVC - когда Вы начинаете использовать его.
Попытка IMO WebForms скрыть HTML слишком много на мой вкус и может вызвать Ваш проект занять больше времени, чем Вы хотели бы из-за преобразования большого количества HTML в средства управления веб-формами.
С другой стороны, MVC позволяет Вам снова использовать часть этой логики при подавании заявки, намного более удобной в сопровождении, и с соответствующим Архитектурным Шаблоном приложение может быть разработано и пересмотрено намного более быстрое, чем какой-либо проект WebForms.
Я говорю MVC полностью!
Существует больше ASP.NET-MVC, чем очевидные общие черты между кодом представления и встроенным кодом ASP. Существуют все части Модели и Контроллера для рассмотрения, который очень отличается от способа, которым записана большая часть ASP.
Это сказало, что я скажу, что MVC был бы лучшим местом для запуска.
Так или иначе это является всегда лучшим запуститься с нуля и реализовало только логику.
Я запустил ASP давным-давно (больше чем 12 лет назад), и только в 2006 я переместился в ASP.NET 2.0, даже сегодня я знаю все, но я действительно знаю в значительной степени, что я каждый день делаю на работе.
По-моему, теперь, и оглядывание назад к моему знанию ASP, я перешел бы к Веб-формам вместо MVC, во-первых, это - язык, что это находятся на "рынке" немного несколько лет теперь и очень используемый во всем мире, в то время как MVC все еще в бета-версии, таким образом, не подходящий для продуктивной среды (говорит, что Microsoft - даже если этот сайт записан в MVC).
Я действительно склонен делать беспорядок со схемой MVC все еще, и существует больше приемов, чем я хочу учиться, должен ли я сделать быстрое изменение одного проекта ASP.
Это зависит. MVC ASP.NET не является никакой серебряной пулей и во многих отношениях делает несколько шагов назад с точки зрения производительности разработчика.
Если Вы имеете ограниченный бюджет и должны получить сделанный быстро, я полагаю, что ASP.NET является способом пойти, так как он имеет богатство средств управления как сетки, подкачки страниц, проверки и т.д., что можно использовать прямо из поля. Используя эти средства управления несомненно сэкономит много dev времени. Все эти средства управления, что большинство рассматривает пешехода к настоящему времени в ASP.NET, все должны быть созданы с нуля или взяты из Интернета, когда Вы используете проект MVC ASP.NET.
С другой стороны, если у Вас есть время и бюджет теперь и продвижение, и Вы хотите иметь решение, которое является горным телом и более легко предоставляет себя разработке через тестирование, MVC ASP.NET является, вероятно, лучшим выбором.
Определенно ASP.NET MVC лучше с точки зрения стиля. (Тем не менее, у вас нет для использования повторителей и других глупых элементов управления в приложении WebForms, вы можете просто использовать встроенный код, как в MVC.)
MVC в целом был бы более простым портом, дающим вам лучшую структуру и более приятным.