Я думаю, вы можете использовать subset
, созданную из list
CONT
:
print df
age fnlwgt capital-gain
0 a 9th 5
1 b 9th 6
2 c 8th 3
CONT = ['age','fnlwgt']
print df[CONT]
age fnlwgt
0 a 9th
1 b 9th
2 c 8th
print df[CONT].count()
age 3
fnlwgt 3
dtype: int64
print df[['capital-gain']]
capital-gain
0 5
1 6
2 3
Возможно, лучше, чем list
есть dictionary
, который создается to_dict
:
d = df[CONT].count().to_dict()
print d
{'age': 3, 'fnlwgt': 3}
print d['age']
3
print d['fnlwgt']
3
Это довольно неуклюже, но быстрая проверка реестра, кажется, работает. Под HKEY_CLASSES_ROOT будет зарегистрировано большое количество классов от блоков SMO. Все, что я должен был сделать, должно было выбрать один из классов SMO и проверки на существование ключа с тем же именем. Следующая функция возвратит true, если SMO был установлен, ложь если иначе.
private bool CheckForSmo()
{
string RegKeyName = @"Microsoft.SqlServer.Management.Smo.Database";
bool result = false;
Microsoft.Win32.RegistryKey hkcr = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(RegKeyName);
result = hkcr != null;
if (hkcr != null)
{
hkcr.Close();
}
return result;
}
То, что я делаю, просто попытаться создать экземпляр некоторого объекта SMO. Если это перестало работать, не там.