Решение задачи на python, работа с таблицой

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
[quote=ПавелМальцев post_id=102697 time=1523182779 user_id=46068] Помогите решить задачу на python с таблицей. Описание Самый простой способ извлечь из данных много информации в компактном виде - визуализация. В этом упражнении мы познакомимся с данными из игры Dota 2, построим несколько графиков и попробуем обнаружить зависимости. Вашей задачей будет использовать диаграмму рассеяния для обнаружения выбросов. Материалы: сайт не позволяет вложить таблицу и код помощи поэтому переходите по ссылке: [url]http://contest.ai-academy.ru/problems#problem_3_visualization[/url] (Задача 3: Matplotlib и визуализация) Условие задачи Если нарисовать диаграмму рассеяния dire_xp против dire_gold, без фильтрации строк, где radiant_gold < 100000, то можно увидеть кластер выбросов в правом верхнем углу. Введите в форму ниже fight_id соответствующий любому из этих выбросов. Задача: найти такой fight_id у которого dire_xp и dire_gold находиться сверху справа на диаграмме рассеяния и при этом radiant_gold < 100000 Мой код: pd.DataFrame() table = pd.concat([ pd.read_csv('C:\SberbankDota/train.csv', index_col=0), pd.read_csv('C:\SberbankDota/target.csv', index_col=0) ], axis=1) table['radiant_xp'] = table['r1_xp'] + table['r2_xp'] + table['r3_xp'] + table['r4_xp'] + table['r5_xp'] table['dire_xp'] = table['d1_xp'] + table['d2_xp'] + table['d3_xp'] + table['d4_xp'] + table['d5_xp'] table['dire_gold'] = table['d1_gold'] + table['d2_gold'] + table['d3_gold'] + table['d4_gold'] + table['d5_gold'] table['radiant_gold'] = table['r1_gold'] + table['r2_gold'] + table['r3_gold'] + table['r4_gold'] + table['r5_gold'] table['gold_diff'] = table['radiant_gold'] - table['dire_gold'] table['dire_diff'] = table['dire_xp'] - table['dire_gold'] table_truncated = table.query('radiant_gold < 100000') plt.figure(figsize=(9, 5)), plt.scatter(table_truncated['dire_xp'], table_truncated['dire_gold']), plt.show() table_truncated = table.query('dire_xp > 120000') table_truncated = table.query('dire_gold > 80000') print(table_truncated) [/quote]
   

Развернуть Обзор темы:Решение задачи на python, работа с таблицой

Решение задачи на python, работа с таблицой

ПавелМальцев »08 апр 2018, 13:19

Помогите решить задачу на python с таблицей.

Описание
Самый простой способ извлечь из данных много информации в компактном виде - визуализация.
В этом упражнении мы познакомимся с данными из игры Dota 2, построим несколько графиков и попробуем обнаружить зависимости.
Вашей задачей будет использовать диаграмму рассеяния для обнаружения выбросов.

Материалы: сайт не позволяет вложить таблицу и код помощи поэтому переходите по ссылке:
http://contest.ai-academy.ru/problems#p ... ualization
(Задача 3: Matplotlib и визуализация)

Условие задачи
Если нарисовать диаграмму рассеяния dire_xp против dire_gold, без фильтрации строк, где radiant_gold < 100000, то можно увидеть кластер выбросов в правом верхнем углу.
Введите в форму ниже fight_id соответствующий любому из этих выбросов.

Задача: найти такой fight_id у которого dire_xp и dire_gold находиться сверху справа на диаграмме рассеяния и при этом radiant_gold < 100000

Мой код:

pd.DataFrame()


table = pd.concat([
pd.read_csv('C:\SberbankDota/train.csv', index_col=0),
pd.read_csv('C:\SberbankDota/target.csv', index_col=0)
], axis=1)

table['radiant_xp'] = table['r1_xp'] + table['r2_xp'] + table['r3_xp'] + table['r4_xp'] + table['r5_xp']
table['dire_xp'] = table['d1_xp'] + table['d2_xp'] + table['d3_xp'] + table['d4_xp'] + table['d5_xp']
table['dire_gold'] = table['d1_gold'] + table['d2_gold'] + table['d3_gold'] + table['d4_gold'] + table['d5_gold']
table['radiant_gold'] = table['r1_gold'] + table['r2_gold'] + table['r3_gold'] + table['r4_gold'] + table['r5_gold']
table['gold_diff'] = table['radiant_gold'] - table['dire_gold']
table['dire_diff'] = table['dire_xp'] - table['dire_gold']

table_truncated = table.query('radiant_gold < 100000')


plt.figure(figsize=(9, 5)),
plt.scatter(table_truncated['dire_xp'], table_truncated['dire_gold']),
plt.show()

table_truncated = table.query('dire_xp > 120000')
table_truncated = table.query('dire_gold > 80000')
print(table_truncated)

Вернуться к началу