我有一個這樣的數據框 A B0 0.0 sales oi 90,901 1.0 9.002 2.0 get it here9993 3.0 sales for oi 90,904 4.0 this: 90,00,005 5.0 akjd : 90,000我想要這樣的數據框 A B0 0.0 90901 1.0 92 2.0 9993 3.0 90904 4.0 9000005 5.0 90000
2 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
如果要刪除所有不帶點的非數字值,請replace與正則表達式[^\d.]一起使用,如果不是十進制數字或.:
df['B'] = df['B'].str.replace(r'[^\d.]+', '')
print (df)
A B
0 0.0 9090
1 1.0 9.00
2 2.0 999
3 3.0 9090
4 4.0 900000
5 5.0 90000

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
您可以像這樣使用正則表達式:
import re
re.sub("[^0-9]", "", "sales oi 90,90")
這將返回:
9090
使用它,您可以使用 lambda 函數簡單地將其應用于您的數據幀:
df['B'] = df['B'].apply(lambda row: re.sub("[^0-9]", "", row))
添加回答
舉報
0/150
提交
取消