簡體   English   中英

Pandas:在列中查找字符串並將其替換為具有遞增值的數字

[英]Pandas: Find string in a column and replace them with numbers with incrementing values

我正在處理一個數據框,其中有多個列,其中一列中有許多行,大約超過 1000 行,其中包含字符串值。 請查看下表了解更多詳情:

在此處輸入圖片說明

在上圖中,我想通過從第一列 (MasterGroup) 中選取值並將 Group_Number 列中的字符串值更改為 number 並增加一 (01) 並希望值如下所示:

在此處輸入圖片說明

還需要驗證字符串是否正在復制,而不是給出一個新數字,而是用已更改的數字替換。 例如,在上圖中 ANAYSIM 是重復的,而不是給一個新的序列號,我希望已經給定的數字重復字符串。

檢查了不同的鏈接,但他們專注於從用戶那里提供價值:

Pandas DataFrame:根據條件替換列中的所有值
根據熊貓中的另一個值更改一個值
有條件替換 Pandas

任何有助於實現預期結果的幫助都受到高度贊賞。

我們可以用groupbycumcount

s=(df.groupby('MasterGroup').cumcount()+1).mul(10).astype(str)
t=pd.to_datetime(df.Group_number, errors='coerce')

然后我們賦值

df.loc[t.isnull(), 'Group_number']=df.MasterGroup.astype(str)+s

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM