Вы можете преобразовать свою справочную таблицу в словарь, а затем использовать метод Pandas replace () , чтобы преобразовать все ключи в вашем главном информационном фрейме в более длинные описания, которые находятся в вашем справочнике. до стола.
Вот пример:
Скажем, у вас есть фрейм данных с именем df
, который имеет столбец Weather
, подобный этому:
Weather
0 1
1 2
2 3
3 3
4 2
5 1
6 1
7 1
8 2
9 3
И затем произнесите Верхняя таблица называется keys_df
и выглядит следующим образом:
Key Meaning
0 1 Sunny
1 2 Cloudy
2 3 Rainy
Сначала выполните следующие два шага, чтобы преобразовать вашу справочную таблицу keys_df
в словарь:
Key
в качестве индекса, используя метод set_index () Панд:
keys_df = keys_df.set_index('Key')
Затем используйте Панд ' Метод to_dict () для создания словаря из справочной таблицы keys_df
:
key_dict = keys_df.to_dict()
На этом этапе поиск словарь будет выглядеть следующим образом:
{'Meaning': {1: 'Sunny', 2: 'Cloudy', 3: 'Rainy'}}
Последний шаг - использование метода replace () для замены каждого числа в столбце Weather
в вашем основной фрейм данных df
с его текстовым описанием, которые содержатся в словаре под ключом Meaning
внутри словаря, возвращенного методом to_dict()
:
df.loc[:,'Weather'] = df['Weather'].replace(key_dict['Meaning'])
Это будет сделать тебя Столбец r Weather
выглядит так:
Weather
0 Sunny
1 Cloudy
2 Rainy
3 Rainy
4 Cloudy
5 Sunny
6 Sunny
7 Sunny
8 Cloudy
9 Rainy
Принятие Вам настраивали контроллер представления и хотели бы добавить a UIActivityIndicator
к нему вот то, как Вы могли сделать это:
(предположите, что Вам назвали членскую переменную indicator
, который можно использовать позже для чистки),
Для Вашего интерфейса (.h файл):
UIActivityIndicator *indicator;
Для Вашей реализации (.m файл):
Запустите анимацию
CGRect b = self.view.bounds;
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle:
UIActivityIndicatorStyleWhite];
//center the indicator in the view
indicator.frame = CGRectMake((b.size.width - 20) / 2, (b.size.height - 20) / 2, 20, 20);
[self.view addSubview: indicator];
[indicator release];
[indicator startAnimating];
Остановите анимацию
[indicator removeFromSuperview];
indicator = nil;
Ответ Ben выглядит довольно подобным тому, что я делаю - Ваше предположение о потоке, вероятно, точно. Вы используете NSURLConnection
обработать Вашу загрузку? Если так, Вы используете синхронную или асинхронную версию? Если это - синхронная версия, и Вы просто запускаете и останавливаете анимацию вокруг синхронного вызова, то UI не обновляет, пока Вы не остановили анимацию.