(相关资料图)
字符串转数字的用途和场景很多,其中主要包括以下几个方面:
数据清洗:在进行数据处理时,经常会遇到一些数据类型不匹配的问题,比如某些列中的字符串类型被误认为是数字类型,此时需要将这些字符串类型转换为数字类型,才能进行后续的数值计算或统计分析。数据整理:有时候输入的原始数据可能存在格式问题,例如有些数值前面带有美元符号或者其他符号,这些符号会干扰后续的计算,因此需要将它们去掉并转换为数字类型。数据可视化:在进行数据可视化时,需要将含有数字信息的字符串转换成数字类型,以便于更好地展示数据、制作图表。机器学习:在机器学习领域中,经常需要将文本或其他非数字类型的特征转换为数字型特征,从而应用各种基于数值型特征的算法模型。本篇介绍一些常用的字符串转数值的方法。
1. 一般情况一般情况下,只需要通过 astype
函数就可以改变列的数据类型。
import pandas as pddf = pd.DataFrame({ "A": [1,2,3], "B": [1.1,2.2, 3.3], "C":["1.2", "2.3", "3.3"],})df.dtypesdf.C = df.C.astype("float64")df.dtypes
上面的示例把C
列有字符串类型转换成了浮点数类型。
上面的示例中,C
列中每个字符串都可以正常转换成浮点数,所以用astype
函数就可以了。不过,大部分情况下,待转换的列中会存在无法正常转换的异常值。直接转换会报错:
df = pd.DataFrame({ "A": [1,2,3], "B": [1.1,2.2, 3.3], "C":["1.2", "2.3", "xxx"],})df.dtypesdf.C = df.C.astype("float64")df
这时,可以用 to_numeric
函数,此函数的 errors
参数有3个可选值:
astype
函数一样coerce:无法转换的值作为NaN
,可转换的值正常转换df = pd.DataFrame({ "A": [1,2,3], "B": [1.1,2.2, 3.3], "C":["1.2", "2.3", "xxx"],})dfdf.C = pd.to_numeric(df.C, errors="coerce")df
C
列正常转换为float64
,无法转换的值变成NaN
。
如果不希望用NaN
来填充异常的值,可以再用 fillna
填充自己需要的值。
df.C = pd.to_numeric( df.C, errors="coerce").fillna(0.0)df
3. 全局转换如果需要转换成数值类型的列比较多,用上面的方法一个列一个列的转换效率不高。可以用apply
方法配合 to_numeric
一次转换所有的列。
df = pd.DataFrame({ "A": [1,2,3], "B": [1.1,2.2, 3.3], "C":["1.2", "2.3", "xxx"], "D":["10", "4.6", "yyy"],})dfdf = df.apply( pd.to_numeric, errors="coerce")df
同样,apply
也可以通过fillna
填充缺失值NaN
。
df = df.apply( pd.to_numeric, errors="coerce").fillna(0.0)df
关键词:
【pandas小技巧】--字符串转数值
2023湖南衡阳市衡东县招聘中学教师和衡东县职业中专学校招聘教师拟聘用人员名单公示
乘联会:7月新能源车市场零售同比增长31.9%
little by little歌词翻译(little by little)
篮球训练营期间,阿德巴约谈与利拉德的友谊以及耐心等待的心态
延吉探索建筑垃圾治理模板
莱利:2011年总决赛失利后 我和三巨头开会确定詹一韦二
薄膜铌酸锂:高速光模块新一代材料,龙头强者恒强
桐梓:乡村旅游文化艺术季等你来嗨
锦州中燃重要通知
美国参议员沃伦据悉要求高盛披露从事硅谷银行交易的员工
华夏幸福董事会同意授权公司经营层办理责任保险购买相关事宜
喜欢的人买不起,不喜欢的不会买,红旗HS3真就这么尴尬?
艾尔登法环庆典大头盖骨武器图鉴
老尼尔森:选秀前为不让司机去别队试训 他在我家地下室住了一周
8月8日中燃宁波地区燃料油价格平稳
保康县两峪乡荣膺湖北省美丽城镇省级示范乡镇
中国投资热点城市丨荆州:中部地区新燃点,引来留住促投资
上汽大众,败走M城!
杭州园林:公司暂无水利建设相关业务的子公司
张亮麻辣烫被曝“假羊肉卖得比真羊肉还贵”,公司道歉:已全部下架
广清城际铁路项目最后一联单线连续梁合龙
杭州市民卡怎么补 附办理流程
暗黑破坏神4奥杜尔洞在哪 暗黑破坏神4奥杜尔洞位置介绍
湘税社保微信小程序显示系统繁忙
《无职转生Ⅱ》第6话——『解救茱丽』!
汽车零部件概念股快速拉升 海泰科20CM涨停
极米H系列首个超级混光投影发布 购买享12期免息
电商助农的重要性与前景
灾后重建从“心”开始 这份心理疏导指南请查收