python中怎么把千位分隔符以及货币符号去掉转成数值形式?

博客主要探讨在Python中如何将带有千位分隔符和货币符号的数据转换为数值形式,提出使用正则表达式来解决该问题。
部署运行你感兴趣的模型镜像

python中怎么把千位分隔符以及货币符号去掉转成数值形式?

比如下面的这种

$10,000
¥1,000,000.00

怎么转换成数值?

 

用正则表达就可以了

from re import sub

money = '¥1,000,000'
val = float(sub(r'[^\d.]', '', money))

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

import pandas as pd import numpy as np df = pd.read_csv("RFM.csv") # 复制一份原始数据,避免修改原始DataFrame df_clean = df.copy() # 如果销售额列包含货币符号(如'¥')或千位分隔符(如','),需要先去除 # 注意:由于是object类型,可能是字符串,也可能混合了数值,所以先转换为字符串再操作 df_clean['销售额'] = df_clean['销售额'].astype(str).str.replace('¥', '', regex=False).str.replace(',', '', regex=False) # 转换为数值类型,无法转换的变为NaN df_clean['销售额'] = pd.to_numeric(df_clean['销售额'], errors='coerce') # 过滤掉0和NaN clean_df = df_clean[(df_clean['销售额'] != 0) & (df_clean['销售额'].notna())] # 重置索引(可选) clean_df = clean_df.reset_index(drop=True) #删除数据表中的缺失值 dfn=clean_df.dropna(axis=0,how='any',subset=None,inplace=False) ##查看列“销售额”中的字符类型 # print(clean_df['销售额'].dtype) ##查看清理后的列“销售额”中值为0的数量 # print(len(clean_df[clean_df['销售额'] == 0])) #打印前十行 print("清洗前数据:\n",df.head(20)) print("清洗后数据:\n",dfn.head(20)) # 查看数据的基本信息 print("清洗前数据基本信息:") print(df.info()) print("清洗后数据基本信息:") print(dfn.info()) # # 查看数据的统计描述 # print(dfn.describe()) # # 查看缺失值情况 print("清洗后缺失值数量:") print(dfn.isnull().sum()) 这是我目前的代码,我想清除掉列表“退单号”中的负值,请你帮我完善代码
最新发布
09-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值