蟒蛇 | Pandas 使用 str.rsplit() 將字符串反向拆分為兩個列表/列

Pandas 提供了一種方法來圍繞缺少的分隔符或分隔符拆分字符串。然後可以將該行保存為一系列列表,也可以用於從單行創建多列數據框。 rsplit () 的工作方式類似於 .split () rsplit () 從右側開始分割。當分隔符/分隔符不止一次出現時,此功能也很有用。

.str 必須在每次調用該方法前加上前綴,以區別於Python中的默認函數,否則會報錯。

語法:
Series.str.rsplit (pat = None, n = - 1, expand = False)

< b> 參數:
pat: 字符串值,分隔符或分隔符。
n: 單個字符串中的最大分隔數,默認為-1,表示全部。
expand: 布爾值,如果為True,則在不同列中返回具有不同值的數據框。否則它會返回一個帶有字符串列表的系列

返回類型: 系列列表或數據框取決於展開參數

下載使用CSV 文件,請單擊此處的

在以下示例中,使用的數據框包含有關某些 NBA 球員的數據。下面附上任何操作之前的數據幀圖像。

示例#1: 從右側分割一行到一個列表中

在這個例子中,團隊列中的行在每次出現“t”時都會被拆分。參數n保持為1,因此每行的最大分割數為1。由於使用了rsplit(),所以會從右側分割行。

< td class = "code">

# import pandas 模塊

import pandas as pd


# 從 URL 讀取 CSV 文件

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


# 刪除空列以避免錯誤

data.dropna (inplace = True )


# 帶有分隔列的新數據框

數據 [ "團隊" ] = 數據 [ "團隊" ]。 str 。 rsplit ( "t" , n = 1 ,展開 = False )


# 顯示
數據

輸出:
如輸出圖像所示,這條線被“Celtics”中的“t”和“Boston”中的“t”分割。這是因為分裂以相反的順序發生。由於擴展參數保留為 False,因此返回了一個列表。

示例 #2: 使用從一行創建單個列.rsplit ()

在本例中,Name 列用空格(“”)分隔,擴展參數設置為 True,這意味著它將返回一個數據框,其中所有行分隔為另一列...然後使用數據框創建新列,並使用 .drop () 方法刪除舊名稱列。

n 參數保持為 1,因為也可以有中間名(每行不止一個空格)。在這種情況下 rsplit () 很有用,因為它從右側計算,因此中間名稱行將包含在名稱列中,因為最大拆分數保持為 1。

< /p>

# pandas模塊導入

import pandas as pd


# 從 URL 讀取 CSV 文件

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


#刪除null co lumns o值以避免錯誤

data.dropna (inplace = True )


# 帶分隔符的新數據框列

= 數據[ "名稱" ]。 str 。 split ( " " , n = 1 ,展開 = True )


# 從新數據框創建單獨的名稱列

數據 [ "First Name" ] = new [ 0 ]


# 從新數據框創建一個單獨的姓氏列

數據 [ "Last Name" ] = new [ 1 ]


# 刪除舊列 Name

data.drop (columns = [ "名稱" ],就地 = )


#df display
數據

< b> 輸出:
如輸出圖像所示,已創建兩個新列,並已刪除舊的名稱列。

我們希望本文能幫助您解決問題。 除了 蟒蛇 | Pandas 使用 str.rsplit() 將字符串反向拆分為兩個列表/列,查看其他與 Python functions 相關的主題。

想在 Python 中出類拔萃? 查看我們對 最佳 Python 在線課程 2023的評論。 如果您對數據科學感興趣,請查看如何學習 R 編程

順便說一句,此材料也有其他語言版本:



Frank Gonzalez

Texas | 2023-02-01

简单地说,很清楚。谢谢你的分享。蟒蛇 | Pandas 使用 str.rsplit() 將字符串反向拆分為兩個列表/列和其他问题的Python functions一直是我的弱点😁。. 將在我的學士論文中使用它

Boris Schteiner

London | 2023-02-01

谢谢你的解释! 我被蟒蛇 | Pandas 使用 str.rsplit() 將字符串反向拆分為兩個列表/列卡住了几个小时。了几个小时,最后终于完成了 🤗. 明天會回來反饋

Boris Lehnman

Tallinn | 2023-02-01

也许有其他的答案?什么是蟒蛇 | Pandas 使用 str.rsplit() 將字符串反向拆分為兩個列表/列?到底是什么意思?. 我只是不太確定這是最好的方法

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