Python | Pandas Обратное разбиение строк на два списка/столбца с помощью str.rsplit()

Pandas предоставляет метод разделения строки вокруг отсутствующего разделителя или разделителя. Затем строку можно сохранить как список в серии или ее также можно использовать для создания фрейма данных с несколькими столбцами из одной строки. rsplit() работает аналогично .split() , но rsplit() начинает разделение с правой стороны. Эта функция также полезна, когда разделитель/разделитель встречается более одного раза.

.str необходимо добавлять префикс каждый раз перед вызовом этого метода, чтобы отличить его от функции по умолчанию в Python, иначе он вызовет ошибку.

Синтаксис:
Series.str.rsplit (pat = None, n = - 1, expand = False)

< b> Параметры:
pat: Строковое значение, разделитель или разделитель для разделения строки.
n: максимальное количество разделений в одной строке, по умолчанию -1, что означает все.
expand: логическое значение, возвращает фрейм данных с разными значениями в разных столбцах, если оно истинно. В противном случае он возвращает серию со списком строк

Тип возвращаемого значения: Серия списка или кадр данных в зависимости от параметра расширения

Для загрузки используется CSV, нажмите здесь .

В следующих примерах используемый фрейм данных содержит данные о некоторых игроках НБА. Изображение фрейма данных до каких-либо операций прилагается ниже.

Пример № 1: Разделение строки с правой стороны в список

В этом примере строка в столбце Team разбивается каждый раз, когда появляется "t". Параметр n сохраняется равным 1, поэтому максимальное количество разбиений на строку равно 1. Поскольку используется rsplit(), строка будет разбиваться с правой стороны.

< td class = "code">

# import pandas module

import pandas as pd


# прочитать файл CSV из URL-адреса

data = pd.read_csv ( " https://media.python.engineering/wp-content/uploads /nba.csv " )


# удаление нулевых столбцов во избежание ошибок

data.dropna(inplace = True )


# новый фрейм данных с разделенными столбцами

data [ "Team" ] = данные [ "Команда" ]. str . rsplit ( "t" , n = 1 , раскрыть = False )


# display
данные

Вывод:
Как показано на выходном изображении, строка была разделена буквой «t» в слове «Селтикс» и буквой «t» в слове «Бостон». Это потому, что раскол произошел в обратном порядке. Поскольку параметр раскрытия был оставлен False, был возвращен список.

Пример № 2: Создание отдельных столбцов из строки с помощью .rsplit()

В этом примере столбец Name разделен пробелом (""), а для параметра расширения установлено значение True, что означает, что будет возвращен фрейм данных со всеми строками, разделенными в другой столбец... Затем кадр данных используется для создания новых столбцов, а старый столбец имени удаляется с помощью метода .drop().

Параметр n сохраняется равным 1, так как могут быть и отчества (более одного пробела в строке). В этом случае полезна функция rsplit(), так как она вычисляет справа, и, следовательно, строка отчества будет включена в столбец имени, поскольку максимальное количество разделений сохраняется равным 1.

< /p>

# импорт модуля pandas

import pandas as pd


# чтение CSV-файла из URL-адреса

data = pd.read_csv ( " https://media.python.engineering/wp-content/uploads/nba.csv " )


# удаление null co люмирует значения, чтобы избежать ошибок

data.dropna (inplace = True )


# новый фрейм данных с разделителями столбцы

новый = данные [ "Name" ]. str . split ( " " , n = 1 , раскрыть = True )


# создать отдельный столбец имени из нового фрейма данных

data [ "First Name" ] = new [ 0 ]


# создайте отдельный столбец фамилии из нового фрейма данных

данные [ "Фамилия" ] = новый [ 1 ]


# Удалить старые столбцы Имя

data.drop (columns = [ "Name" ], inplace = True )


# df display
data

< b> Вывод:
Как показано на выходном изображении, были созданы два новых столбца, а старый столбец Name удален.

Мы надеемся, что эта статья помогла вам решить проблему. Помимо Python | Pandas Обратное разбиение строк на два списка/столбца с помощью str.rsplit(), проверьте другие темы, связанные с Python functions.

Хотите преуспеть в Python? Посмотрите наш обзор лучших онлайн-курсов Python 2023. Если вас интересует наука о данных, узнайте также, как изучить программирование на R.

Кстати, этот материал доступен и на других языках:



Jan Emmerson

San Francisco | 2023-02-05

Python functions всегда немного напрягает 😭 Python | Pandas Обратное разбиение строк на два списка/столбца с помощью str.rsplit() это не единственная проблема, с которой я столкнулся. Буду использовать в своей дипломной работе

Olivia Wu

California | 2023-02-05

Может быть, есть другие ответы? Что Python | Pandas Обратное разбиение строк на два списка/столбца с помощью str.rsplit() именно означает?. Вернусь завтра с обратной связью

Angelo Lehnman

Milan | 2023-02-05

Я готовился к собеседованию по программированию., спасибо за разъяснение - Python | Pandas Обратное разбиение строк на два списка/столбца с помощью str.rsplit() в Python не самый простой.. Вернусь завтра с обратной связью

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically