Pandas: Преобразование значений столбца в строки
В этом руководстве вы узнаете, как использовать библиотеку Pandas в Python для преобразования значений столбца в строковой тип данных. Вы узнаете, как преобразовать целые числа и числа с плавающей запятой Pandas в строки. Также вы узнаете, как строки эволюционировали в Pandas и преимущества использования строкового типа данных Pandas. Вы освоите четыре разных способа преобразования столбца Pandas в строки и как преобразовать каждый столбец датафрейма Pandas в строку.
Быстрый ответ: используйте pd.astype('string')
Оглавление
Загрузка образца фрейма данных
Чтобы следовать за учебником, вы можете загрузить ту же таблицу данных, указанную ниже. Мы загрузим таблицу данных, содержащую три разных столбца: один из которых загрузится как строка, а два других загрузятся как целые числа.
Сначала загрузим датафрейм, затем выведем его первые пять записей с помощью метода .head()
Давайте начнем:
Давайте начнем учебник с изучения того, как Pandas работает со строковыми данными.
Что такое строковый тип данных в Pandas?
Чтобы изучить, как Pandas работает со строковыми данными, мы можем использовать метод .info()
, который выведет информацию о датафрейме, включая типы данных для каждого столбца.
Давайте посмотрим, какие бывают типы данных:
По умолчанию, Pandas сохраняет строки, используя тип данных object
. Тип данных object
используется для строк и смешанных типов данных, но это не очень явно.
Начиная с версии 1.0, в Pandas появился специальный тип данных string
. Хотя этот тип данных пока не предлагает явных улучшений в скорости или памяти, команда разработчиков Pandas указала, что это произойдет в будущем.
Из-за этого в данном руководстве будет использоваться тип данных string
. Если вы используете версию ниже 1.0, пожалуйста, замените string
на str
во всех случаях.
Давайте начнем с использования предпочтительного метода для преобразования столбца в строку с помощью Pandas.
Преобразование значений столбцов Pandas Dataframe в строку с помощью astype
Pandas предоставляет метод для работы со столбцами (сериями) .astype()
, который позволяет изменить тип данных.
Во многих руководствах вам предложат использовать 'str'
в качестве аргумента. Это верно для версий Pandas ниже 1.0, но если вы используете версию 1.0 или выше, используйте 'string'
.
Использование типа данных string
вместо object
обеспечит значительные улучшения в будущем.
Давайте рассмотрим, как мы можем преобразовать столбец Pandas в строки, используя метод .astype()
.
Мы видим, что наш столбец Age
, который ранее был сохранен как int64
, теперь хранится в формате string
.
В следующем разделе вы узнаете, как использовать метод .map()
, чтобы преобразовать значения столбца Pandas.
Преобразование значений столбцов Pandas Dataframe в строку с помощью map
Аналогично методу серии Pandas .astype()
, вы можете использовать метод .map()
, чтобы преобразовать столбец Pandas в строки
Давайте посмотрим:
Здесь мы видим, что при использовании метода .map()
мы не можем использовать тип данных string
. Из-за этого данные сохраняются в типе object
. Поэтому я не рекомендую этот подход, если вы используете версию выше 1.0.
В следующем разделе вы узнаете, как использовать метод .apply()
для преобразования данных столбца Pandas в строки.
Преобразуйте значения столбцов Pandas Dataframe в строку с помощью apply
Аналогично вышеуказанному методу, мы можем использовать метод .apply()
для преобразования значений столбца Pandas в строки. Это также имеет те же ограничения, так как мы не можем преобразовать их в тип данных string
, а только в тип данных object
.
Давайте посмотрим, как это выглядит:
В следующем разделе вы узнаете, как использовать метод value.astype()
для преобразования значений столбца датафрейма в строки.
Преобразование значений столбцов Pandas Dataframe в строку с помощью values.astype
Наконец, мы можем использовать метод .values.astype()
, чтобы напрямую преобразовать значения столбца в строки с помощью Pandas.
Давайте посмотрим, как это выглядит:
В следующем разделе вы узнаете, как использовать .applymap()
, чтобы преобразовать все столбцы в Pandas DataFrame в строки.
Преобразуйте все столбцы Pandas Dataframe в строку с помощью Applymap
В этом последнем разделе вы узнаете, как использовать метод .applymap()
, чтобы преобразовать все столбцы в Pandas DataFrame в строки.
Давайте посмотрим:
Если, вместо этого, мы хотим преобразовать типы данных в новый тип данных string
, то мы можем пройти по каждому столбцу в цикле. Это будет выглядеть так:
Заключение
В этом уроке вы узнали, как использовать Python Pandas для преобразования значений столбца в строки. Вы узнали о различиях между различными способами хранения строк в Pandas. Вы также узнали четыре разных способа преобразования значений в строковые типы. Наконец, вы научились преобразовывать все столбцы dataframe в строковые типы за один раз.
Чтобы узнать больше о том, как Pandas обрабатывает строки, ознакомьтесь с документацией API здесь
Last updated