簡體   English   中英

如何在 Python 的 Pandas 中用我想要的東西替換特定列的子字符串?

[英]How can I replace a sub-string of a specific column by something I want in Pandas of Python?

在此處輸入圖像描述

我想將 Vehicle Value 列中的所有 'k' 替換為 000,這意味着 Vehicle Value 中的數據應表示為 25000,100000,10000.....

我該怎么做? 'Pandas' 是否有 function 來實現它?

可能對您有用的是分離潛在的“價值”和任何潛在的“乘數后綴”,所以假設您的df['Vehicle Value']是:

s = pd.Series(['25k', '1.25m', '100k', '500', '2.5k'])

我們的預期結果應該是[25000, 1250000, 100000, 500, 2500] 所以我們這樣做:

vm = s.str.extract('(?P<value>.*?)(?P<multiplier>[km])?$')

這使:

      value multiplier
0    25          k
1  1.25          m
2   100          k
3   500        NaN
4   2.5          k

然后將乘數轉換為一個數字(k=1,000, m=1,000,000,如果沒有指定 - 只需將其保持為 1),然后將該值乘以它,例如:

df['Numeric Vehicle Value'] = pd.to_numeric(vm['value']) * vm['multiplier'].replace({'k': 1000, 'm': 1000000}).fillna(1)

暫無
暫無

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

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