Pandas: как быстро преобразовать столбец в список
Вы можете использовать один из следующих методов для преобразования столбца в pandas DataFrame в список:
Способ 1: Используйте tolist()
df['my_column']. tolist ()
Способ 2: использовать список()
list(df['my_column'])
Оба метода вернут один и тот же результат.
В следующих примерах показано, как использовать каждый из этих методов со следующими пандами DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame print(df) team points assists 0 A 99 33 1 A 90 28 2 A 93 31 3 B 86 39 4 B 88 34 5 B 82 30
Способ 1: преобразовать столбец в список с помощью tolist()
В следующем коде показано, как использовать функцию tolist() для преобразования столбца «точки» в DataFrame в список:
#convert column to list my_list = df['points']. tolist () #view list print(my_list) [99, 90, 93, 86, 88, 82]
Мы можем подтвердить, что результатом является список, используя функцию type() :
#check data type type (my_list) list
Способ 2: преобразовать столбец в список с помощью list()
В следующем коде показано, как использовать функцию list() для преобразования столбца «точки» в DataFrame в список:
#convert column to list my_list = list(df['points']) #view list print(my_list) [99, 90, 93, 86, 88, 82]
Мы можем подтвердить, что результатом является список, используя функцию type() :
#check data type type (my_list) list
Обратите внимание, что оба метода возвращают одинаковые результаты.
Обратите внимание, что для очень больших фреймов данных метод tolist() работает быстрее всего.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции со столбцами кадра данных pandas:
Значение столбца в список Pandas
Pandas, таблица. У меня есть значения в столбце ‘industry_type’ Я хочу преобразовать их, чтобы они разбились на: [‘Banking’, ‘E-Commerce’, ‘Internet’, ‘Mobile’, ‘Telecommunications’] для каждого ‘organizationID’ соответственно, но не знаю как это сделать. Для начала я удалила запятые, использовав:
cols = ['industry_type'] for col in cols: df[col] = df[col].str.replace(',', ' ')
Получила следующее: Чтобы преобразовать в строку столбец ‘industry_type’ использовала:
list_indus = df['industry_type'].tolist()
Но в результате получаю: [‘Banking E-Commerce Internet Mobile Telecommunications’, ‘Advertising Internet Online Games Online Portals Social Media Marketing’. Только начинаю программировать и работать с pandas, подскажите пожалуйста, что нужно сделать, может цикл какой.
Отслеживать
задан 15 фев 2022 в 13:19
Olga Otinova Olga Otinova
1 1 1 бронзовый знак
Приведите пожалуйста в вопросе минимальный воспроизводимый пример входных данных (в виде текста / CSV / Python кода или ссылки на файл) и то что вы ожидаете получить на выходе. Также советую ознакомиться: Как наиболее эффективно задать вопрос, связанный с обработкой и/или анализом данных (например: по Pandas / Numpy / SciPy / SciKit Learn / SQL)
15 фев 2022 в 13:26
«подскажите пожалуйста, что нужно сделать» чтобы вам подсказали, для начала, отредактируйте свой вопрос, добавьте в него фрагмент ваших данных в воспроизводимом виде и пример того, что вы хотите увидеть в результате.
15 фев 2022 в 13:46
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Предположим, есть датафрейм:
moo org industry_type 0 11 1 a, b, c 1 22 2 foo 2 33 3 bar
res = df["industry_type"].str.split(",").explode().str.strip().to_frame().combine_first(df)
industry_type moo org 0 a 11 1 0 b 11 1 0 c 11 1 1 foo 22 2 2 bar 33 3
Отслеживать
ответ дан 15 фев 2022 в 14:10
24.8k 4 4 золотых знака 20 20 серебряных знаков 36 36 бронзовых знаков
Не совсем понятно конечно, что вы хотите.
dict_of = df = pd.DataFrame(dict_of) >>> org_id org_name in_type 0 1 bank1 [Banking, E-Commerce, Internet, Mobile, Teleco. 1 2 bank2 [Banking, E-Commerce, Internet, Mobile, Teleco. 2 3 bank3 [Banking, E-Commerce, Internet, Mobile, Teleco.
Вариант 1
>>> print(df.explode('in_type')) org_id org_name in_type 0 1 bank1 Banking 0 1 bank1 E-Commerce 0 1 bank1 Internet 0 1 bank1 Mobile 0 1 bank1 Telecommunications 1 2 bank2 Banking 1 2 bank2 E-Commerce 1 2 bank2 Internet 1 2 bank2 Mobile 1 2 bank2 Telecommunications 2 3 bank3 Banking 2 3 bank3 E-Commerce 2 3 bank3 Internet 2 3 bank3 Mobile 2 3 bank3 Telecommunications
Вариант 2
>>> print(df.merge(df.in_type.apply(pd.Series), right_index=True, left_index=True)) org_id org_name 0 1 2 3 4 0 1 bank1 Banking E-Commerce Internet Mobile Telecommunications 1 2 bank2 Banking E-Commerce Internet Mobile Telecommunications 2 3 bank3 Banking E-Commerce Internet Mobile Telecommunications
А может и вообще совсем другое 🙂
UPD
df['in_type'] = df['in_type'].apply(lambda x: x.split(', ')) >>> df org_id org_name in_type 0 1 bank1 [Banking, E-Commerce, Internet, Mobile, Teleco. 1 2 bank2 [Banking, E-Commerce, Internet, Mobile, Teleco..
Преобразование фрейма данных в список Python — 4 способа
В этом руководстве мы узнаем, как преобразовать фреймы данных в простой список Python. Мы узнаем обо всех методах, которые мы можем использовать для преобразования фрейма данных в списки. Прежде чем переходить к методам, давайте посмотрим, что такое фрейм данных и как мы можем создать его в Python с помощью Panda.
Что такое фреймворк Pandas в Python
Фреймы данных в модуле panda в Python — это модуль 2-D (двумерного) размера, который потенциально находится в гетерогенной структуре табличных данных со своими осями (строками и столбцами), помеченными переменными. Проще говоря, фрейм данных — это двумерная структура данных, в которой данные выровнены в табличной форме.
Создание фрейма данных в Pandas
Мы можем создать базовый фрейм данных с помощью следующей программы, используя модуль Pandas в Python:
# Importing Panda module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Print the dataframe as result print(dataFrame)
Famous Name Age 0 Stark Iron 42 1 Captain Rogers 95 2 Hulk banner 38 3 Spidy Parker 18
Итак, вот как мы можем создать фрейм данных с помощью модуля Pandas, и, посмотрев на результат, мы также можем выяснить, как выглядит фрейм данных.
Преобразование Dataframe в список
Мы будем использовать функцию tolist() из модуля Pandas в нашей программе следующим образом при преобразовании данного фрейма данных в список:
dataframe.tolist()
Давайте воспользуемся этой функцией на примере, чтобы понять, как работает функция tolist().
# Importing Panda module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Converting dataframe into a list List = dataFrame.values.tolist() # Print converted list data as result print(List)
[['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
Способы преобразования фрейма данных в список
Фрейм данных можно преобразовать в список Python разными способами. В этом разделе мы обсудим все методы, которые мы собираемся использовать для преобразования заданного фрейма данных в список с помощью функции tolist():
- Преобразование фрейма данных, содержащего все строки.
- Преобразование фрейма данных во вложенный список.
- Преобразование во вложенный список столбцов.
- В список с включенными именами столбцов.
Теперь давайте узнаем о каждом методе на примере, чтобы лучше понять их.
Метод 1: преобразование фрейма данных, содержащего все строки
В этом методе мы преобразуем заданный фрейм данных в список, который будет содержать все строки определенного столбца из фрейма данных.
Посмотрите на следующую программу, чтобы понять, как реализован этот метод:
# Importing Panda module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Converting dataframe Famous Names column into a single list FamousNames = dataFrame['Famous Name'].tolist() # Printing the converted list data print(FamousNames)
['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker']
Итак, как мы видим в выходных данных, мы преобразовали столбец известных имен определенного фрейма данных в единый список и напечатали его в выходных данных.
Метод 2: преобразование фрейма данных во вложенный список
В этом методе мы преобразуем фрейм данных во вложенный список, который будет содержать все строки всех столбцов из фрейма данных по отдельности.
# Importing Pandas module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Initializing empty list ResultList = [] # Using for loop to iterating through dataframe columns for column in dataFrame.columns: listing = dataFrame[column].tolist() ResultList.append(listing) # appending dataframe columns into list # Print the converted list data print(ResultList)
[['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker'], [42, 95, 38, 18]]
Метод 3: преобразование во вложенный список столбцов
В этом методе мы преобразуем заданный фрейм данных в список, который будет содержать несколько списков, в которых есть все столбцы строки.
Посмотрите на следующую программу, чтобы понять, как реализован этот метод:
# Importing Panda module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Converting dataframe into a list List = dataFrame.values.tolist() # Print converted list data as result print(List)
[['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
Вот как мы можем использовать этот метод для преобразования заданного фрейма данных в список, содержащий несколько списков с данными из всех столбцов и строк.
Метод 4: получение списка с включенными именами столбцов
Мы используем этот метод, когда хотим преобразовать заданный фрейм данных в список, содержащий несколько списков из всех столбцов и строк с именами фрейма данных.
# Importing Panda module as jtp import pandas as jtp GivenData = # Creating DataFrame with DataFrame() function dataFrame = jtp.DataFrame(GivenData) # Converting dataframe into multiple lists listing = [dataFrame.columns.values.tolist()] + dataFrame.values.tolist() # Printing the converted list data print(listing)
[['Famous Name', 'Age'], ['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
Как анализировать данные на Python с Pandas: первые шаги
Мария Жарова Эксперт по Python и математике для Data Science, ментор одного из проектов на курсе по Data Science.
Pandas — главная Python-библиотека для анализа данных. Она быстрая и мощная: в ней можно работать с таблицами, в которых миллионы строк. Вместе с Марией Жаровой, ментором проекта на курсе по Data Science, рассказываем про команды, которые позволят начать работать с реальными данными.
Среда разработки
Pandas работает как в IDE (средах разработки), так и в облачных блокнотах для программирования. Как установить библиотеку в конкретную IDE, читайте тут. Мы для примера будем работать в облачной среде Google Colab. Она удобна тем, что не нужно ничего устанавливать на компьютер: файлы можно загружать и работать с ними онлайн, к тому же есть совместный режим для работы с коллегами. Про Colab мы писали в этом обзоре. Пройдите тест и узнайте, какой вы аналитик данных и какие перспективы вас ждут. Ссылка в конце статьи.
Освойте профессию «Data Scientist» на курсе с МГУ
Data Scientist с нуля до PRO
Освойте профессию Data Scientist с нуля до уровня PRO на углубленном курсе совместно с академиком РАН из МГУ. Изучите продвинутую математику с азов, получите реальный опыт на практических проектах и начните работать удаленно из любой точки мира.
25 месяцев
Data Scientist с нуля до PRO
Создавайте ML-модели и работайте с нейронными сетями
11 317 ₽/мес 6 790 ₽/мес
Анализ данных в Pandas
-
Создание блокнота в Google Colab На сайте Google Colab сразу появляется экран с доступными блокнотами. Создадим новый блокнот:
Импортирование библиотеки Pandas недоступна в Python по умолчанию. Чтобы начать с ней работать, нужно ее импортировать с помощью этого кода:
import pandas as pd
pd — это распространенное сокращенное название библиотеки. Далее будем обращаться к ней именно так.
И прочитать с помощью такой команды:
Это можно сделать через словарь и через преобразование вложенных списков (фактически таблиц).
Если нужно посмотреть на другое количество строк, оно указывается в скобках, например df.head(12) . Последние строки фрейма выводятся методом .tail() .
Также чтобы просто полностью красиво отобразить датасет, используется функция display() . По умолчанию в Jupyter Notebook, если написать имя переменной на последней строке какой-либо ячейки (даже без ключевого слова display), ее содержимое будет отображено.
Характеристики датасета Чтобы получить первичное представление о статистических характеристиках нашего датасета, достаточно этой команды: df.describe()
Обзор содержит среднее значение, стандартное отклонение, минимум и максимум, верхние значения первого и третьего квартиля и медиану по каждому столбцу.
Работа с отдельными столбцами или строками
Выделить несколько столбцов можно разными способами.
1. Сделать срез фрейма df[[‘Место в рейтинге’, ‘Ожидаемая продолжительность здоровой жизни’]]
Срез можно сохранить в новой переменной: data_new = df[[‘Место в рейтинге’, ‘Ожидаемая продолжительность здоровой жизни’]]
Теперь можно выполнить любое действие с этим сокращенным фреймом.
2. Использовать метод loc
Если столбцов очень много, можно использовать метод loc, который ищет значения по их названию: df.loc [:, ‘Место в рейтинге’:’Социальная поддержка’]
В этом случае мы оставили все столбцы от Места в рейтинге до Социальной поддержки.
Станьте дата-сайентистом на курсе с МГУ и решайте амбициозные задачи с помощью нейросетей
3. Использовать метод iloc
Если нужно вырезать одновременно строки и столбцы, можно сделать это с помощью метода iloc: df.iloc[0:100, 0:5]
Первый параметр показывает индексы строк, которые останутся, второй — индексы столбцов. Получаем такой фрейм:
В методе iloc значения в правом конце исключаются, поэтому последняя строка, которую мы видим, — 99.
4. Использовать метод tolist()
Можно выделить какой-либо столбец в отдельный список при помощи метода tolist(). Это упростит задачу, если необходимо извлекать данные из столбцов: df[‘Баллы’].tolist()
Часто бывает нужно получить в виде списка названия столбцов датафрейма. Это тоже можно сделать с помощью метода tolist(): df.columns.tolist()
Добавление новых строк и столбцов
В исходный датасет можно добавлять новые столбцы, создавая новые «признаки», как говорят в машинном обучении. Например, создадим столбец «Сумма», в который просуммируем значения колонок «ВВП на душу населения» и «Социальная поддержка» (сделаем это в учебных целях, практически суммирование этих показателей не имеет смысла): df[‘Сумма’] = df[‘ВВП на душу населения’] + df[‘Социальная поддержка’]
Можно добавлять и новые строки: для этого нужно составить словарь с ключами — названиями столбцов. Если вы не укажете значения в каких-то столбцах, они по умолчанию заполнятся пустыми значениями NaN. Добавим еще одну страну под названием Country: new_row = df = df.append(new_row, ignore_index=True)
Важно: при добавлении новой строки методом .append() не забывайте указывать параметр ignore_index=True, иначе возникнет ошибка.
Иногда бывает полезно добавить строку с суммой, медианой или средним арифметическим) по столбцу. Сделать это можно с помощью агрегирующих (aggregate (англ.) — группировать, объединять) функций: sum(), mean(), median(). Для примера добавим в конце строку с суммами значений по каждому столбцу: df = df.append(df.sum(axis=0), ignore_index = True)
Удаление строк и столбцов
Удалить отдельные столбцы можно при помощи метода drop() — это целесообразно делать, если убрать нужно небольшое количество столбцов. df = df.drop([‘Сумма’], axis = 1)
В других случаях лучше воспользоваться описанными выше срезами.
Обратите внимание, что этот метод требует дополнительного сохранения через присваивание датафрейма с примененным методом исходному. Также в параметрах обязательно нужно указать axis = 1, который показывает, что мы удаляем именно столбец, а не строку.
Соответственно, задав параметр axis = 0, можно удалить любую строку из датафрейма: для этого нужно написать ее номер в качестве первого аргумента в методе drop(). Удалим последнюю строчку (указываем ее индекс — это будет количество строк): df = df.drop(df.shape[0]-1, axis = 0)
Копирование датафрейма
Можно полностью скопировать исходный датафрейм в новую переменную. Это пригодится, если нужно преобразовать много данных и при этом работать не с отдельными столбцами, а со всеми данными: df_copied = df.copy()
Уникальные значения
Уникальные значения в какой-либо колонке датафрейма можно вывести при помощи метода .unique(): df[‘Страна или регион’].unique()
Чтобы дополнительно узнать их количество, можно воспользоваться функцией len(): len(df[‘Страна или регион’].unique())
Подсчет количества значений
Отличается от предыдущего метода тем, что дополнительно подсчитывает количество раз, которое то или иное уникальное значение встречается в колонке, пишется как .value_counts(): df[‘Страна или регион’].value_counts()
Группировка данных
Некоторым обобщением .value_counts() является метод .groupby() — он тоже группирует данные какого-либо столбца по одинаковым значениям. Отличие в том, что при помощи него можно не просто вывести количество уникальных элементов в одном столбце, но и найти для каждой группы сумму / среднее значение / медиану по любым другим столбцам.
Рассмотрим несколько примеров. Чтобы они были более наглядными, округлим все значения в столбце «Баллы» (тогда в нем появятся значения, по которым мы сможем сгруппировать данные): df[‘Баллы_new’] = round(df[‘Баллы’])
1) Сгруппируем данные по новому столбцу баллов и посчитаем, сколько уникальных значений для каждой группы содержится в остальных столбцах. Для этого в качестве агрегирующей функции используем .count(): df.groupby(‘Баллы_new’).count()
Получается, что чаще всего страны получали 6 баллов (таких было 49):
2) Получим более содержательный для анализа данных результат — посчитаем сумму значений в каждой группе. Для этого вместо .count() используем sum(): df.groupby(‘Баллы_new’).sum()
3) Теперь рассчитаем среднее значение по каждой группе, в качестве агрегирующей функции в этом случае возьмем mean(): df.groupby(‘Баллы_new’).mean()
4) Рассчитаем медиану. Для этого пишем команду median(): df.groupby(‘Баллы_new’).median()
Это самые основные агрегирующие функции, которые пригодятся на начальном этапе работы с данными.
Вот пример синтаксиса, как можно сагрегировать значения по группам при помощи сразу нескольких функций:
df_agg = df.groupby(‘Баллы_new’).agg(< 'Баллы_new': 'count', 'Баллы_new': 'sum', 'Баллы_new': 'mean', 'Баллы_new': 'median' >)
Сводные таблицы
Бывает, что нужно сделать группировку сразу по двум параметрам. Для этого в Pandas используются сводные таблицы или pivot_table(). Они составляются на основе датафреймов, но, в отличие от них, группировать данные можно не только по значениям столбцов, но и по строкам.
В ячейки такой таблицы помещаются сгруппированные как по «координате» столбца, так и по «координате» строки значения. Соответствующую агрегирующую функцию указываем отдельным параметром.
Разберемся на примере. Сгруппируем средние значения из столбца «Социальная поддержка» по баллам в рейтинге и значению ВВП на душу населения. В прошлом действии мы уже округлили значения баллов, теперь округлим и значения ВВП: df[‘ВВП_new’] = round(df[‘ВВП на душу населения’])
Теперь составим сводную таблицу: по горизонтали расположим сгруппированные значения из округленного столбца «ВВП» (ВВП_new), а по вертикали — округленные значения из столбца «Баллы» (Баллы_new). В ячейках таблицы будут средние значения из столбца «Социальная поддержка», сгруппированные сразу по этим двум столбцам: pd.pivot_table(df, index = [‘Баллы_new’], columns = [‘ВВП_new’], values = ‘Социальная поддержка’, aggfunc = ‘mean’)
Сортировка данных
Строки датасета можно сортировать по значениям любого столбца при помощи функции sort_values(). По умолчанию метод делает сортировку по убыванию. Например, отсортируем по столбцу значений ВВП на душу населения: df.sort_values(by = ‘ВВП на душу населения’).head()
Видно, что самые высокие ВВП совсем не гарантируют высокое место в рейтинге.
Чтобы сделать сортировку по убыванию, можно воспользоваться параметром ascending (от англ. «по возрастанию») = False: df.sort_values(by = ‘ВВП на душу населения’, ascending=False)
Фильтрация
Иногда бывает нужно получить строки, удовлетворяющие определенному условию; для этого используется «фильтрация» датафрейма. Условия могут быть самые разные, рассмотрим несколько примеров и их синтаксис:
1) Получение строки с конкретным значением какого-либо столбца (выведем строку из датасета для Норвегии): df[df[‘Страна или регион’] == ‘Norway’]
2) Получение строк, для которых значения в некотором столбце удовлетворяют неравенству. Выведем строки для стран, у которых «Ожидаемая продолжительность здоровой жизни» больше единицы:
df[df[‘Ожидаемая продолжительность здоровой жизни’] > 1]
3) В условиях фильтрации можно использовать не только математические операции сравнения, но и методы работы со строками. Выведем строки датасета, названия стран которых начинаются с буквы F, — для этого воспользуемся методом .startswith():
df[df[‘Страна или регион’].str.startswith(‘F’)]
4) Можно комбинировать несколько условий одновременно, используя логические операторы. Выведем строки, в которых значение ВВП больше 1 и уровень социальной поддержки больше 1,5: df[(df[‘ВВП на душу населения’] > 1) & (df[‘Социальная поддержка’] > 1.5)]
Таким образом, если внутри внешних квадратных скобок стоит истинное выражение, то строка датасета будет удовлетворять условию фильтрации. Поэтому в других ситуациях можно использовать в условии фильтрации любые функции/конструкции, возвращающие значения True или False.
Применение функций к столбцам
Зачастую встроенных функций и методов для датафреймов из библиотеки бывает недостаточно для выполнения той или иной задачи. Тогда мы можем написать свою собственную функцию, которая преобразовывала бы строку датасета как нам нужно, и затем использовать метод .apply() для применения этой функции ко всем строкам нужного столбца.
Рассмотрим пример: напишем функцию, которая преобразует все буквы в строке к нижнему регистру, и применим к столбцу стран и регионов: def my_lower(row): return row.lower() df[‘Страна или регион’].apply(lower)
Очистка данных
Это целый этап работы с данными при подготовке их к построению моделей и нейронных сетей. Рассмотрим основные приемы и функции.
1) Удаление дубликатов из датасета делается при помощи функции drop_duplucates(). По умолчанию удаляются только полностью идентичные строки во всем датасете, но можно указать в параметрах и отдельные столбцы. Например, после округления у нас появились дубликаты в столбцах «ВВП_new» и «Баллы_new», удалим их: df_copied = df.copy() df_copied.drop_duplicates(subset = [‘ВВП_new’, ‘Баллы_new’])
Этот метод не требует дополнительного присваивания в исходную переменную, чтобы результат сохранился, — поэтому предварительно создадим копию нашего датасета, чтобы не форматировать исходный.
Строки-дубликаты удаляются полностью, таким образом, их количество уменьшается. Чтобы заменить их на пустые, можно использовать параметр inplace = True. df_copied.drop_duplicates(subset = [‘ВВП_new’, ‘Баллы_new’], inplace = True)
2) Для замены пропусков NaN на какое-либо значение используется функция fillna(). Например, заполним появившиеся после предыдущего пункта пропуски в последней строке нулями: df_copied.fillna(0)
3) Пустые строки с NaN можно и вовсе удалить из датасета, для этого используется функция dropna() (можно также дополнительно указать параметр inplace = True): df_copied.dropna()
Построение графиков
В Pandas есть также инструменты для простой визуализации данных.
1) Обычный график по точкам.
Построим зависимость ВВП на душу населения от места в рейтинге: df.plot(x = ‘Место в рейтинге’, y = ‘ВВП на душу населения’)
2) Гистограмма.
Отобразим ту же зависимость в виде столбчатой гистограммы: df.plot.hist(x = ‘Место в рейтинге’, y = ‘ВВП на душу населения’)
3) Точечный график.
df.plot.scatter(x = ‘Место в рейтинге’, y = ‘ВВП на душу населения’)
Мы видим предсказуемую тенденцию: чем выше ВВП на душу населения, тем ближе страна к первой строчке рейтинга.
Сохранение датафрейма на компьютер
Сохраним наш датафрейм на компьютер: df.to_csv(‘WHR_2019.csv’)
Теперь с ним можно работать и в других программах.
Блокнот с кодом можно скачать здесь (формат .ipynb).