Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Чтобы выяснить, какой процент электората проголосовал за одну из двух партий, требуется вычислить сумму голосов, отданных за каждую из них. Для этого нам понадобится создать новое поле данныхVictors(Победители) из данных, которые соответствуют Консервативной (Con) и Либерально-демократической (LD) партиям и заодно проверим, имеются ли пропущенные значения.
defex_1_26():
'''Вычислить производное поле данных "Победители" и
число имеющихся в нем пропущенных значений'''
df = load_uk_scrubbed()
df['Победители'] = df['Con'] + df['LD']
freq = Counter(df['Con'].apply(lambda x: x > 0))
print('Поле "Победители": %d, в т.ч. пропущено %d'
% (freq[True], freq[False]))
# Поле "Победители": 631, в т.ч. пропущено 19
Результат показывает, что в 19 случаях даные отсутствуют.Очевидно, чтов каком-то из столбцов: столбцеCon либо столбцеLD (либо обоих), данные отсутствуют, но в каком именно? Снова воспользуемся словарем Counter, чтобы увидеть масштаб проблемы:
'''Проверить пропущенные значения в полях
"Консервативная партия" (Con) и
"Либерально-демократическая партия" (LD)'''
df = load_uk_scrubbed()
Counter(df['Con'].apply(lambda x: x > 0)),
Counter(df['LD'].apply(lambda x: x > 0))
# (Counter({False: 19, True: 631}), Counter({False: 19, True: 631}))
В обоих случаях будет выведено одинаковое число строк, в которых значения есть, и в которых они отсутствуют. Воспользуемся предикативной функцией isnull, которую мы уже встречали ранее в этой главе, чтобы узнать, какие строки не содержат значений:
defex_1_27():
'''Выборка полей данных по условию, что поля
"Консервативная партия" (Con) и
"Либерально-демократическая" (LD) не пустые'''
df = load_uk_scrubbed()
rule = df['Con'].isnull() &df['LD'].isnull()
return df[rule][['Region', 'Electorate', 'Con', 'LD']]
| Region | Electorate | Con | LD | |
| NorthernIreland | 60204.0 | NaN | NaN | |
| NorthernIreland | 73338.0 | NaN | NaN | |
| NorthernIreland | 63054.0 | NaN | NaN | |
| … | … | … | … | … |
| NorthernIreland | 64594.0 | NaN | NaN | |
| NorthernIreland | 74732.0 | NaN | NaN |
Небольшоеобследование данных должноопределить причину, почему эти поля оказались пустыми. Как оказалось, кандидаты в соответствующих избирательных округах не выдвигались. Следует ли эти строки отфильтровать или же оставить как есть, равными нулю? Это интересный вопрос. Давайте их отфильтруем, поскольку вообще-то невозможно, чтобы в этих округах избиратели выбрали какого-либокандидата, неважно от либеральных демократов или консерваторов. Если же мы напротивдопустили, что они равны нулю, то среднее количество людей, которое—при заданных вариантах выбора—проголосовало за одну из этих партий, было бы искусственно занижено.
Зная, как фильтровать проблемные строки, теперь добавим производные столбцы, которые будут представлять победителя, долю голосов за победителя и явку на выборы. Отфильтруем строки так, чтобы показать только те, где были выдвинуты кандидаты от обеих партий:
defload_uk_victors():
'''Загрузить данные по Великобритании,
выбрать поля и отфильтровать'''
df = load_uk_scrubbed()
rule = df['Con'].notnull()
df = df[rule][['Con', 'LD', 'Votes', 'Electorate']]
df['Победители'] = df['Con'] + df['LD']
df['Доля победителей'] = df['Победители'] / df['Votes']
df['Явка'] = df['Votes'] / df['Electorate']
returndf
В результате в нашем наборе данных теперь имеется три дополнительных столбца: Victors, VictorsShareи Turnout, т.е. победители, доля победителей и явка на выборы. Покажем на квантильном графике долю голосов за победителя, чтобы увидеть, как она соотносится с теоретическим нормальным распределением:
defex_1_28():
'''Показать квантильный график победителей
на выборах в Великобритании'''
qqplot(load_uk_victors()['Доля победителей'])
plt.show()
Приведенный вышепример создаст следующийграфик:

Основываясь на сводномграфике разных форм кривых квантильных графиков, показанном ранее в этой главе, можно заключить, что доля голосов, отданных за победителя, имеет "легкие хвосты" по сравнению с нормальным распределением. Это означает, что ближе к среднему значению расположено больше данных, чем можно было бы ожидать, исходя из действительно нормально распределенных данных.
|
|
|
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!