将DataFrame中'duration(min)'列转为float时遇ValueError报错求助
解决方法
问题出在数据里的小数用逗号做分隔符,而Python默认只识别点号作为小数点,直接转float自然会报错。给你几个实用的处理方式:
- 先替换逗号为点号再转换:
df1['duration(min)'] = df1['duration(min)'].str.replace(',', '.').astype(float) - 用
pd.to_numeric直接指定小数分隔符(更推荐,能兼容更多异常情况):import pandas as pd df1['duration(min)'] = pd.to_numeric(df1['duration(min)'], decimal=',') - 如果是从CSV文件读取数据,直接在读取时指定小数分隔符,一步到位:
df1 = pd.read_csv('你的数据文件.csv', decimal=',')
内容的提问来源于stack exchange,提问作者Lawrence Shen
相关产品推荐
相关产品推荐

