<jupyter_start><jupyter_text>Вступ Створити програму, яка за даними файлу відповідно до варіантівлабораторної No2, виконує наступні завдання:1. Виділити один зі стовпців (на вибір) з файлу як об’єкт Series. Задатиназви індексів цього об’єкту. Виділити підмасиви за допомогою прямоїта непрямої індексацій.2. До об’єкту DataFrame, в який записано вміст файлу, додати новийстовпець, що є результатом операцій над іншими стовпцями.3. Створити ієрархічну індексацію (не менше двох рівнів) для цього об’єктуDataFrame. Продемонструвати виділення підмасивів за певною ознакоюз використанням мультиіндексації. Продемонструвати розрахунокрезультату операції агрегування з використанням ієрархічних рівнів.4. Створити декілька власних об’єктів DataFrame за такою ж тематикою, щой файл. Наприклад, якщо тема файлу – жаби, можна створити об’єкти,що містять розміри жаб, вагу, стать, кількість особин в популяції і т.д.Використати описані в теоретичних відомостях параметри методу mergeдля різних видів злиття даних цих об’єктів.<jupyter_code>import pandas as pd
import numpy as np<jupyter_output><empty_output><jupyter_text>Дані<jupyter_code>df = pd.read_csv('https://raw.githubusercontent.com/mezgoodle/ad_labs/master/data/Crime.csv')<jupyter_output><empty_output><jupyter_text>Перше завдання<jupyter_code>ser = pd.Series(df['CrimeRate'], index=[i for i in range(0 + 3, len(df['CrimeRate']) + 3)])
ser
ser.loc[3:5]
ser.iloc[3:5]<jupyter_output><empty_output><jupyter_text>Друге завдання<jupyter_code>df['WageRatio'] = df['Wage'] / df['StateSize']
df['WageRatio']<jupyter_output><empty_output><jupyter_text>Третє завдання<jupyter_code>a=pd.Series(np.arange(0, 7))
b=pd.Series(['I','II', 'III'])
multi_in=pd.MultiIndex.from_product([['A', 'B'],b, a])
df = pd.read_csv('https://raw.githubusercontent.com/mezgoodle/ad_labs/master/data/Crime.csv')
df = df[:-5]
df.set_index([multi_in], inplace=True)
df
df.mean(level=1)
df.max(level=2)
crime_rate_series = pd.Series(df['CrimeRate'])
crime_rate_series[crime_rate_series > 100]
crime_rate_series[:, 'II', :]
crime_rate_series['A', 'II']<jupyter_output><empty_output><jupyter_text>Четверте завдання<jupyter_code>a_df = pd.DataFrame({'CrimeRate': df['CrimeRate'], 'Youth': df['Youth'], 'Males': df['Males']})
b_df = pd.DataFrame({'CrimeRate_1': df['CrimeRate'], 'Wage': df['Wage'], 'Youth': df['Youth']})
c_df = pd.merge(a_df, b_df, left_on='CrimeRate', right_on='CrimeRate_1',
                suffixes=('_left', '_right')).drop('CrimeRate_1', axis=1)
c_df
b_df = pd.DataFrame({'CrimeRate_1': df['CrimeRate'], 'Wage': df['Wage'], 'Youth': df['Youth'], 'Males': df['Males10']})

c_df = pd.merge(a_df, b_df, how='inner', suffixes=('_left', '_right'))
c_df<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14712389380530974, 'fraction_numerical': 0.00995575221238938, 'mean_word_length': 8.013289036544851, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 26, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '381055', 'license': 'MIT', 'n_tokens_mistral': 1188, 'n_tokens_neox': 1361, 'n_words': 211, 'path': 'docs/lab3/lab3.ipynb', 'repo_name': 'mezgoodle/ad_labs', 'size': '2712'}