Обратите внимание на то, как при создании информационного кадра цена столбцов переставляла строку, а не число, поскольку numpy
array
принимает только один dtype
Выполнение:
df.price=pd.to_numeric(df.price)
Я буду использовать describe
после groupby
df.groupby(['colour','item']).price.describe()# you can add reset_index() here
count mean std min 25% 50% 75% max
colour item
blue cup 1.0 2.300 NaN 2.3 2.3000 2.300 2.3000 2.30
jug 1.0 2.400 NaN 2.4 2.4000 2.400 2.4000 2.40
red cup 2.0 1.625 0.176777 1.5 1.5625 1.625 1.6875 1.75
<час> Или вы можете использовать agg
df.groupby(['colour','item']).price.agg(['std','mean'])
Я снизился на эту дорогу прежде, и к сожалению необходимо будет создать пул приложений вручную или записать Пользовательское действие для управления этим для Вас.
В дополнение к вопросу Grzenio в комментариях ниже:
"Вы могли дать мне подсказку, где начать искать классы кода/помощника? И Вы сохраняете свой проект веб-Проектом Установки или просто используете стандартный проект установки приложения?"
Я добавил новый названный проект InstallHelper
к решению, содержащему проект установки. В том проекте я создал названный класс InstallActions
который происходит из:
System.Configuration.Install.Installer
(MSDN).
Существует четыре метода, которые можно переопределить на Installer
базовый класс, чтобы позволить Вам указывать пользовательские действия в зависимости от того, являетесь ли Вы в Установке, Фиксации, Удалении или фазах Отката, когда установщик работает.
Я также добавил много диалогов текстового поля к пользовательскому интерфейсу проекта установки. Вход и состояние, полученное от этих диалогов, передаются Вашему действию заказной установки с помощью словаря. т.е.:
using System.Collections.Specialized;
using System.ComponentModel;
using System.Configuration.Install;
using System.Windows.Forms;
namespace InstallHelper
{
[RunInstaller(true)]
public partial class PostInstallActions : Installer
{
public override void Install(IDictionary state)
{
base.Install(state);
// Do my custom install actions
}
public override void Commit(IDictionary state)
{
base.Commit(state);
// Do my custom commit actions
}
public override void Uninstall(IDictionary state)
{
base.Uninstall(state);
// Do my custom uninstall actions
}
public override void Rollback(IDictionary state)
{
base.Uninstall(state);
// Do my custom rollback actions
}
}
}
Для добавления проекта пользовательского действия к проекту установки откройте средство просмотра/редактора Пользовательских действий и укажите вывод от InstallHelper
проект.
Это - основы и должно запустить Вас. Веб-Проект Установки также поддерживает пользовательские действия и дополнительные диалоговые окна ввода данных пользователем, таким образом, можно хотеть снова использовать существующий проект, в дополнение к пользовательскому действию.
Проверьте этот пост http://forums.iis.net/t/1061734.aspx , это даст некоторое приблизительное представление о Microsoft.Web.Administration dll.
Я не изучил всю концепцию, но я подумал, как создать новый пул и как подключиться с новым веб-сайтом / виртуальным каталогом.
Создание Пул приложений
Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager();
manager.ApplicationPools.Add("NewApplicationPool");
manager.CommitChanges();
Присоединение к существующему виртуальному каталогу
Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager();
Site defaultSite = manager.Sites["Default Web Site"];
// defaultSite.Applications will give you the list of 'this' web site reference and all
// virtual directories inside it -- 0 index is web site itself.
Microsoft.Web.Administration.Application oVDir = defaultSite.Applications["/myApp"];
oVDir.ApplicationPoolName = "NewApplicationPool";
manager.CommitChanges();
Таким образом, вы можете назначить пул приложений вашему новому веб-сайту, используя настраиваемые действия, переопределяя метод commit класса установщика.
Если вы все еще испытываете затруднения, пожалуйста, дайте мне знать и я постараюсь отправить код.
С уважением Faiyaz faiyazkhan@hotmail.com