python – 在pandas数据帧中搜索并替换点和逗号
发布时间:2020-12-20 12:13:57 所属栏目:Python 来源:网络整理
导读:这是我的DataFrame: d = {'col1': ['sku 1.1','sku 1.2','sku 1.3'],'col2': ['9.876.543,21',654,'321,01']}df = pd.DataFrame(data=d)df col1 col20 sku 1.1 9.876.543,211 sku 1.2 6542 sku 1.3 321,01 col2中的数据是本地格式的数字,我想将其转换为: c
这是我的DataFrame:
d = {'col1': ['sku 1.1','sku 1.2','sku 1.3'],'col2': ['9.876.543,21',654,'321,01']} df = pd.DataFrame(data=d) df col1 col2 0 sku 1.1 9.876.543,21 1 sku 1.2 654 2 sku 1.3 321,01 col2中的数据是本地格式的数字,我想将其转换为: col2 9876543.21 654 321.01 我尝试了df [‘col2’] = pd.to_numeric(df [‘col2′],downcast =’float’),它返回一个ValueError ::无法解析位置0的字符串“9.876.543,21”. 我也尝试了df = df.apply(lambda x:x.str.replace(‘,’,’.’)),它返回ValueError:无法将字符串转换为float:’5.023.654.??46′ 谢谢你的帮助! 解决方法
如果可能的参数在
read_csv 中使用最好:
df = pd.read_csv(file,thousands='.',decimal=',') 如果不可能,那么替换应该有帮助: df['col2'] = (df['col2'].replace('.','',regex=True) .replace(',','.',regex=True) .astype(float)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |