659 lines
148 KiB
Plaintext
659 lines
148 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# Начало лабораторной работы №1\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"### Набор данных \"Наблюдения НЛО в США\"."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 1,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import pandas as pd\n",
|
|||
|
"import numpy as np\n",
|
|||
|
"import matplotlib.pyplot as plt"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Загрузка и сохранение данных"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 2,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/html": [
|
|||
|
"<div>\n",
|
|||
|
"<style scoped>\n",
|
|||
|
" .dataframe tbody tr th:only-of-type {\n",
|
|||
|
" vertical-align: middle;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe tbody tr th {\n",
|
|||
|
" vertical-align: top;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe thead th {\n",
|
|||
|
" text-align: right;\n",
|
|||
|
" }\n",
|
|||
|
"</style>\n",
|
|||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|||
|
" <thead>\n",
|
|||
|
" <tr style=\"text-align: right;\">\n",
|
|||
|
" <th></th>\n",
|
|||
|
" <th>summary</th>\n",
|
|||
|
" <th>city</th>\n",
|
|||
|
" <th>state</th>\n",
|
|||
|
" <th>date_time</th>\n",
|
|||
|
" <th>shape</th>\n",
|
|||
|
" <th>duration</th>\n",
|
|||
|
" <th>stats</th>\n",
|
|||
|
" <th>report_link</th>\n",
|
|||
|
" <th>text</th>\n",
|
|||
|
" <th>posted</th>\n",
|
|||
|
" <th>city_latitude</th>\n",
|
|||
|
" <th>city_longitude</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>Viewed some red lights in the sky appearing to...</td>\n",
|
|||
|
" <td>Visalia</td>\n",
|
|||
|
" <td>CA</td>\n",
|
|||
|
" <td>2021-12-15T21:45:00</td>\n",
|
|||
|
" <td>light</td>\n",
|
|||
|
" <td>2 minutes</td>\n",
|
|||
|
" <td>Occurred : 12/15/2021 21:45 (Entered as : 12/...</td>\n",
|
|||
|
" <td>http://www.nuforc.org/webreports/165/S165881.html</td>\n",
|
|||
|
" <td>Viewed some red lights in the sky appearing to...</td>\n",
|
|||
|
" <td>2021-12-19T00:00:00</td>\n",
|
|||
|
" <td>36.356650</td>\n",
|
|||
|
" <td>-119.347937</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>Look like 1 or 3 crafts from North traveling s...</td>\n",
|
|||
|
" <td>Cincinnati</td>\n",
|
|||
|
" <td>OH</td>\n",
|
|||
|
" <td>2021-12-16T09:45:00</td>\n",
|
|||
|
" <td>triangle</td>\n",
|
|||
|
" <td>14 seconds</td>\n",
|
|||
|
" <td>Occurred : 12/16/2021 09:45 (Entered as : 12/...</td>\n",
|
|||
|
" <td>http://www.nuforc.org/webreports/165/S165888.html</td>\n",
|
|||
|
" <td>Look like 1 or 3 crafts from North traveling s...</td>\n",
|
|||
|
" <td>2021-12-19T00:00:00</td>\n",
|
|||
|
" <td>39.174503</td>\n",
|
|||
|
" <td>-84.481363</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>seen dark rectangle moving slowly thru the sky...</td>\n",
|
|||
|
" <td>Tecopa</td>\n",
|
|||
|
" <td>CA</td>\n",
|
|||
|
" <td>2021-12-10T00:00:00</td>\n",
|
|||
|
" <td>rectangle</td>\n",
|
|||
|
" <td>Several minutes</td>\n",
|
|||
|
" <td>Occurred : 12/10/2021 00:00 (Entered as : 12/...</td>\n",
|
|||
|
" <td>http://www.nuforc.org/webreports/165/S165810.html</td>\n",
|
|||
|
" <td>seen dark rectangle moving slowly thru the sky...</td>\n",
|
|||
|
" <td>2021-12-19T00:00:00</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>One red light moving switly west to east, beco...</td>\n",
|
|||
|
" <td>Knoxville</td>\n",
|
|||
|
" <td>TN</td>\n",
|
|||
|
" <td>2021-12-10T19:30:00</td>\n",
|
|||
|
" <td>triangle</td>\n",
|
|||
|
" <td>20-30 seconds</td>\n",
|
|||
|
" <td>Occurred : 12/10/2021 19:30 (Entered as : 12/...</td>\n",
|
|||
|
" <td>http://www.nuforc.org/webreports/165/S165825.html</td>\n",
|
|||
|
" <td>One red light moving switly west to east, beco...</td>\n",
|
|||
|
" <td>2021-12-19T00:00:00</td>\n",
|
|||
|
" <td>35.961561</td>\n",
|
|||
|
" <td>-83.980115</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>Bright, circular Fresnel-lens shaped light sev...</td>\n",
|
|||
|
" <td>Alexandria</td>\n",
|
|||
|
" <td>VA</td>\n",
|
|||
|
" <td>2021-12-07T08:00:00</td>\n",
|
|||
|
" <td>circle</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>Occurred : 12/7/2021 08:00 (Entered as : 12/0...</td>\n",
|
|||
|
" <td>http://www.nuforc.org/webreports/165/S165754.html</td>\n",
|
|||
|
" <td>Bright, circular Fresnel-lens shaped light sev...</td>\n",
|
|||
|
" <td>2021-12-19T00:00:00</td>\n",
|
|||
|
" <td>38.798958</td>\n",
|
|||
|
" <td>-77.095133</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" summary city state \\\n",
|
|||
|
"0 Viewed some red lights in the sky appearing to... Visalia CA \n",
|
|||
|
"1 Look like 1 or 3 crafts from North traveling s... Cincinnati OH \n",
|
|||
|
"2 seen dark rectangle moving slowly thru the sky... Tecopa CA \n",
|
|||
|
"3 One red light moving switly west to east, beco... Knoxville TN \n",
|
|||
|
"4 Bright, circular Fresnel-lens shaped light sev... Alexandria VA \n",
|
|||
|
"\n",
|
|||
|
" date_time shape duration \\\n",
|
|||
|
"0 2021-12-15T21:45:00 light 2 minutes \n",
|
|||
|
"1 2021-12-16T09:45:00 triangle 14 seconds \n",
|
|||
|
"2 2021-12-10T00:00:00 rectangle Several minutes \n",
|
|||
|
"3 2021-12-10T19:30:00 triangle 20-30 seconds \n",
|
|||
|
"4 2021-12-07T08:00:00 circle NaN \n",
|
|||
|
"\n",
|
|||
|
" stats \\\n",
|
|||
|
"0 Occurred : 12/15/2021 21:45 (Entered as : 12/... \n",
|
|||
|
"1 Occurred : 12/16/2021 09:45 (Entered as : 12/... \n",
|
|||
|
"2 Occurred : 12/10/2021 00:00 (Entered as : 12/... \n",
|
|||
|
"3 Occurred : 12/10/2021 19:30 (Entered as : 12/... \n",
|
|||
|
"4 Occurred : 12/7/2021 08:00 (Entered as : 12/0... \n",
|
|||
|
"\n",
|
|||
|
" report_link \\\n",
|
|||
|
"0 http://www.nuforc.org/webreports/165/S165881.html \n",
|
|||
|
"1 http://www.nuforc.org/webreports/165/S165888.html \n",
|
|||
|
"2 http://www.nuforc.org/webreports/165/S165810.html \n",
|
|||
|
"3 http://www.nuforc.org/webreports/165/S165825.html \n",
|
|||
|
"4 http://www.nuforc.org/webreports/165/S165754.html \n",
|
|||
|
"\n",
|
|||
|
" text posted \\\n",
|
|||
|
"0 Viewed some red lights in the sky appearing to... 2021-12-19T00:00:00 \n",
|
|||
|
"1 Look like 1 or 3 crafts from North traveling s... 2021-12-19T00:00:00 \n",
|
|||
|
"2 seen dark rectangle moving slowly thru the sky... 2021-12-19T00:00:00 \n",
|
|||
|
"3 One red light moving switly west to east, beco... 2021-12-19T00:00:00 \n",
|
|||
|
"4 Bright, circular Fresnel-lens shaped light sev... 2021-12-19T00:00:00 \n",
|
|||
|
"\n",
|
|||
|
" city_latitude city_longitude \n",
|
|||
|
"0 36.356650 -119.347937 \n",
|
|||
|
"1 39.174503 -84.481363 \n",
|
|||
|
"2 NaN NaN \n",
|
|||
|
"3 35.961561 -83.980115 \n",
|
|||
|
"4 38.798958 -77.095133 "
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 2,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"#Чтобы загрузить данные из CSV файла:\n",
|
|||
|
"\n",
|
|||
|
"df = pd.read_csv('datasets/nuforc_reports.csv')\n",
|
|||
|
"df.head()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Получение сведений о датафрейме с данными"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 3,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"<class 'pandas.core.frame.DataFrame'>\n",
|
|||
|
"RangeIndex: 136940 entries, 0 to 136939\n",
|
|||
|
"Data columns (total 12 columns):\n",
|
|||
|
" # Column Non-Null Count Dtype \n",
|
|||
|
"--- ------ -------------- ----- \n",
|
|||
|
" 0 summary 136866 non-null object \n",
|
|||
|
" 1 city 136558 non-null object \n",
|
|||
|
" 2 state 127595 non-null object \n",
|
|||
|
" 3 date_time 134272 non-null object \n",
|
|||
|
" 4 shape 131018 non-null object \n",
|
|||
|
" 5 duration 130448 non-null object \n",
|
|||
|
" 6 stats 136940 non-null object \n",
|
|||
|
" 7 report_link 136940 non-null object \n",
|
|||
|
" 8 text 136902 non-null object \n",
|
|||
|
" 9 posted 134272 non-null object \n",
|
|||
|
" 10 city_latitude 110136 non-null float64\n",
|
|||
|
" 11 city_longitude 110136 non-null float64\n",
|
|||
|
"dtypes: float64(2), object(10)\n",
|
|||
|
"memory usage: 12.5+ MB\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/html": [
|
|||
|
"<div>\n",
|
|||
|
"<style scoped>\n",
|
|||
|
" .dataframe tbody tr th:only-of-type {\n",
|
|||
|
" vertical-align: middle;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe tbody tr th {\n",
|
|||
|
" vertical-align: top;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe thead th {\n",
|
|||
|
" text-align: right;\n",
|
|||
|
" }\n",
|
|||
|
"</style>\n",
|
|||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|||
|
" <thead>\n",
|
|||
|
" <tr style=\"text-align: right;\">\n",
|
|||
|
" <th></th>\n",
|
|||
|
" <th>city_latitude</th>\n",
|
|||
|
" <th>city_longitude</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>count</th>\n",
|
|||
|
" <td>110136.000000</td>\n",
|
|||
|
" <td>110136.000000</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>mean</th>\n",
|
|||
|
" <td>38.704608</td>\n",
|
|||
|
" <td>-95.185792</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>std</th>\n",
|
|||
|
" <td>5.752186</td>\n",
|
|||
|
" <td>18.310088</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>min</th>\n",
|
|||
|
" <td>-32.055500</td>\n",
|
|||
|
" <td>-170.494000</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>25%</th>\n",
|
|||
|
" <td>34.238375</td>\n",
|
|||
|
" <td>-113.901810</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>50%</th>\n",
|
|||
|
" <td>39.257500</td>\n",
|
|||
|
" <td>-89.161450</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>75%</th>\n",
|
|||
|
" <td>42.317739</td>\n",
|
|||
|
" <td>-80.363444</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>max</th>\n",
|
|||
|
" <td>64.845276</td>\n",
|
|||
|
" <td>130.850580</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" city_latitude city_longitude\n",
|
|||
|
"count 110136.000000 110136.000000\n",
|
|||
|
"mean 38.704608 -95.185792\n",
|
|||
|
"std 5.752186 18.310088\n",
|
|||
|
"min -32.055500 -170.494000\n",
|
|||
|
"25% 34.238375 -113.901810\n",
|
|||
|
"50% 39.257500 -89.161450\n",
|
|||
|
"75% 42.317739 -80.363444\n",
|
|||
|
"max 64.845276 130.850580"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 3,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"#Получить общую информацию о датафрейме можно с помощью:\n",
|
|||
|
"df.info()\n",
|
|||
|
"#Для получения статистического описания числовых колонок:\n",
|
|||
|
"df.describe()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Получение сведений о колонках датафрейма"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 4,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"Index(['summary', 'city', 'state', 'date_time', 'shape', 'duration', 'stats',\n",
|
|||
|
" 'report_link', 'text', 'posted', 'city_latitude', 'city_longitude'],\n",
|
|||
|
" dtype='object')\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"#Вывести названия колонок:\n",
|
|||
|
"print(df.columns)\n",
|
|||
|
"\n",
|
|||
|
"#Получить уникальные значения в колонке:\n",
|
|||
|
"unique_values = df['city'].unique()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Вывод отельных строки и столбцов из датафрейма"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 5,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"\n",
|
|||
|
"#Для вывода отдельных строк можно использовать iloc или loc:\n",
|
|||
|
"\n",
|
|||
|
"# Вывод первой строки\n",
|
|||
|
"first_row = df.iloc[0]\n",
|
|||
|
"\n",
|
|||
|
"# Вывод строк с 0 по 4\n",
|
|||
|
"first_five_rows = df.iloc[0:5]\n",
|
|||
|
"\n",
|
|||
|
"# Вывод по метке индекса\n",
|
|||
|
"row_by_label = df.loc[0]\n",
|
|||
|
"\n",
|
|||
|
"# Вывод определенного столбца\n",
|
|||
|
"specific_column = df['city']"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Группировка и агрегация данных в датафрейме"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 6,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Для группировки данных можно использовать groupby:\n",
|
|||
|
"grouped = df.groupby('city').agg({'state': 'sum'})"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### сортировка данных в датафрейме"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 7,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Для сортировки данных по определенной колонке:\n",
|
|||
|
"sorted_df = df.sort_values(by='city', ascending=True)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### удаление строк/столбцов"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 8,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Для удаления строк:\n",
|
|||
|
"\n",
|
|||
|
"# Удаление строки по индексу\n",
|
|||
|
"df = df.drop(24)\n",
|
|||
|
"\n",
|
|||
|
"# Удаление нескольких строк\n",
|
|||
|
"df = df.drop([1, 2, 3])\n",
|
|||
|
"\n",
|
|||
|
"\n",
|
|||
|
"#Для удаления столбцов:\n",
|
|||
|
"\n",
|
|||
|
"# Удаление столбца\n",
|
|||
|
"df = df.drop(\"summary\", axis=1)\n",
|
|||
|
"\n",
|
|||
|
"# Удаление нескольких столбцов\n",
|
|||
|
"df = df.drop(['shape', 'duration'], axis=1)\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### создание новых столбцов на основе данных из существующих столбцов датафрейма"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 9,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Создание нового столбца на основе существующих:\n",
|
|||
|
"df['new_columnStateCity'] = df['state'] + df['city']"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### удаление строк с пустыми значениями"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 10,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Для удаления строк с хотя бы одним пустым значением:\n",
|
|||
|
"df = df.dropna()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### заполнение пустых значений на основе существующих данных"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 11,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"# Заполнение средним значением\n",
|
|||
|
"df['city_latitude'] = df['city_latitude'].fillna(df['city_latitude'].mean())\n",
|
|||
|
"\n",
|
|||
|
"# Заполнение фиксированным значением\n",
|
|||
|
"df['state'] = df['state'].fillna(0)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"##### Линейная диаграмма (plot)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 12,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"df = pd.read_csv('datasets/nuforc_reports.csv')\n",
|
|||
|
"\n",
|
|||
|
"# Пример: Линейная диаграмма количества отчетов по годам\n",
|
|||
|
"df['year'] = pd.to_datetime(df['date_time']).dt.year\n",
|
|||
|
"yearly_counts = df['year'].value_counts().sort_index()\n",
|
|||
|
"\n",
|
|||
|
"plt.plot(yearly_counts.index, yearly_counts.values)\n",
|
|||
|
"plt.title('Количество UFO отчетов по годам')\n",
|
|||
|
"plt.xlabel('Год')\n",
|
|||
|
"plt.ylabel('Количество отчетов')\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 13,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"# Пример: Столбчатая диаграмма количества отчетов по штатам\n",
|
|||
|
"state_counts = df['state'].value_counts().head(15)\n",
|
|||
|
"\n",
|
|||
|
"state_counts.plot(kind='bar')\n",
|
|||
|
"plt.title('Топ-10 штатов по количеству UFO отчетов')\n",
|
|||
|
"plt.xlabel('Штат')\n",
|
|||
|
"plt.ylabel('Количество отчетов')\n",
|
|||
|
"plt.xticks(rotation=45)\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 14,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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U089pa1btyojI0PSpTNWLi6X/im5ePGiTp48KS8vLzVq1Eg//PBDoW1GR0fLZrPp888/lyR9++23Onz4sPr27XvVPgYPHqxFixYpNzdX0qXLKQ8//LB8fHwK1Xp6epo/Z2dn68SJE+rYsaN++uknZWdn3/AxKK7XX39dPj4++vOf/1zk+goVKujpp582H7u5uenpp5/WsWPHlJKSIkn64osvFBAQoH79+pl1FStW1J///GedPn1aSUlJxeqt4LicOnWqWM+34kZ779Wrl+644w7zcZs2bdS2bVt98cUXkqSjR48qNTVVAwcOdPjARfPmzfXAAw+YdZc7d+5ckWcjr1Ra3jMo/QhNwE2WnZ2tN954Q3FxceZlhgI//fSTJKlp06a/+3V+/vlnSVKjRo0KrWvcuLG5/kbUr1+/UHhr2LChJJn3a+Xn52vatGlq0KCB3N3dVaNGDdWsWVPbt28v8g9OxYoV9cQTT2j+/PmSpPnz56tPnz7y9va+ah9RUVGqUKGCPvvsM+Xk5Ojjjz/WoEGDiqzdsGGDIiIizHteatasqZdeekmSbtkfwPT0dM2dO1eTJk266h/twMBAVa5c2WHsymP7888/q0GDBmYoLVBwObY4v1NJioiIUM2aNeXt7a2qVavq2WefVU5OTrG2dTU32nuDBg0KbaNhw4YOx0Iq+v3dpEkTnThxotA+nDhxoshgfaXS8J5B2cA9TcBN9tZbb8nFxUUvvviiTp486ex2Stwbb7yhV199VYMHD9brr7+uatWqycXFRSNGjFB+fn6Rzxk8eLBatmyptLQ0LV261DzrdDUFQWvBggU6c+aMqlevri5dujjctyNJ+/fvV9euXdW4cWO98847CgoKkpubm7744gtNmzbtqv2UtJdfflkNGjTQgAED9O23396S17wRs2bNUsOGDZWbm6t169bp7bffliS9//77Tu6s5OTl5eno0aPmvXdXU1reMygbCE3ATXTkyBHNmDFD8fHxqlKlSqHQdOedd0pSkZ8SulF169aVJKWlpalLly4O69LS0sz1N+LHH3+UYRgOZ5v+97//SZJ50+0nn3yizp076+9//7vDc7OyslSjRo0it9usWTO1bNnS/MRg586dr3upafDgwWrRooUOHTqkAQMGFHn5csWKFcrNzdXnn3/ucLnzm2++sbS/JWHr1q1avHixli9fLldX16vWHTlyRDk5OQ5nm648tnXr1tX27duVn5/vcMZm79695vriaNOmjTllRlRUlLZt26bVq1cXa1tXc6O979u3r9A2/ve//zkcC+nSe/lKe/fuVY0aNRyO5bZt23T+/PnrTg1SGt4zKDu4PAfcRJMmTZK/v7+eeeaZItfXrFlTHTp00Pz583Xw4EGHdYZh3NBrtWrVSn5+fpozZ455748kffnll9qzZ4+ioqJuuP8jR45o2bJl5mO73a5//OMfCg0NVUBAgCTJ1dW1UK9Lly4tNM3BlQYPHqzt27eb0wpcz913362wsDDt3r3b/Aj9lQpCyuX9ZGdna8GCBdfdfkkZO3as2rdvrz/84Q/XrLtw4YLmzp1rPs7Ly9PcuXNVs2ZNhYWFSZJ69uypjIwMLVmyxOF57733nry8vNSxY8cS6Tk/P/+aAa84brT35cuXO7xnvv/+e23atEk9evSQJNWqVUuhoaH
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"\n",
|
|||
|
"# Гистограмма распределения географической широты\n",
|
|||
|
"plt.hist(df['city_latitude'].dropna(), bins=30, color='blue', alpha=0.7)\n",
|
|||
|
"plt.title('Гистограмма широты города')\n",
|
|||
|
"plt.xlabel('Широта')\n",
|
|||
|
"plt.ylabel('Частота')\n",
|
|||
|
"plt.show()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 15,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"# Пример: Диаграмма рассеяния по координатам географической широты\n",
|
|||
|
"plt.scatter(df['city_longitude'].dropna(), df['city_latitude'].dropna(), alpha=0.5)\n",
|
|||
|
"plt.title('Диаграмма рассеяния UFO наблюдений по координатам')\n",
|
|||
|
"plt.xlabel('Долгота')\n",
|
|||
|
"plt.ylabel('Широта')\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "Python 3",
|
|||
|
"language": "python",
|
|||
|
"name": "python3"
|
|||
|
},
|
|||
|
"language_info": {
|
|||
|
"codemirror_mode": {
|
|||
|
"name": "ipython",
|
|||
|
"version": 3
|
|||
|
},
|
|||
|
"file_extension": ".py",
|
|||
|
"mimetype": "text/x-python",
|
|||
|
"name": "python",
|
|||
|
"nbconvert_exporter": "python",
|
|||
|
"pygments_lexer": "ipython3",
|
|||
|
"version": "3.12.0"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 2
|
|||
|
}
|