我有一個包含 1 列的資料框,其中包含購買特定加密貨幣的數量
df['Amount'] = 200.20356AVAX
我想將此物件拆分為 2 列:
- 1 包含數字 -->
df['Quantity'] = 200.20356 - 1 包含單詞 -->
df['Asset'] = AVAX
uj5u.com熱心網友回復:
使用str.extract:
df = pd.DataFrame({'Amount': ['200.20356AVAX']})
df = df.join(df['Amount'].str.extract('([^A-Z] )([A-Z] )') \
.rename(columns={0: 'Quantity', 1: 'Asset'}))
# OR, proposed by @mozway (more efficient)
df = df.join(df['Amount'].str.extract('(?P<Quantity>[^A-Z] )(?P<Asset>[A-Z] )'))
輸出:
>>> df
Amount Quantity Asset
0 200.20356AVAX 200.20356 AVAX
uj5u.com熱心網友回復:
在資料框中使用正則運算式 apply
txt="200.20356AVAX"
pattern=r"\d \.*\d*"
print(re.findall(pattern,txt))
輸出:
['200.20356']
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355854.html
上一篇:如何創建一個函式,回圈遍歷numpy矩陣以z縮放每個資料點,回傳標準化的資料
下一篇:來自兩個耦合陣列的直方圖
