read_csv Pandas中十进制参数的作用是什么?

时间:2017-03-30 01:09:37

标签: python pandas

我在csv文件中有一些数据,但小数点分隔符是&#39; <#39; ,正如我们在巴西使用的那样。我尝试使用read_csv函数读取我的文件,参数decimal定义为&#39; <#strong;但是当我检查返回的类型时,是str而且我很难,它会浮动。

那么,十进制参数的作用是什么?处理这个问题的最佳方法是什么?我应该手动转换数据吗? 我使用的是Python 3和Pandas 0.19.2

Bellow是一个数据样本,代码是我使用

import pandas as pd

# Get raw data from file
file_name = 'dados.csv'
dados = pd.read_csv(file_name, sep=";", decimal=",", thousands=".")

ANO;COD_SEG;Codi_Saude;COD_UB;MES;SB_CONS;SB_ESCO;SB_TRAT;SB_URGE;SB_GEST;POP;ICONSB;IESCO;IRESOL;IURG
2012;4;10;19712;4;28;164;3;16;0;5274;0,530906333;3,109594236;0,107142857;0,303375047
2012;4;10;19712;5;13;0;6;23;0;5274;0,246492226;0;0,461538462;0,436101631
2012;4;10;19712;6;8;135;7;12;0;5274;0,151687524;2,559726962;0,875;0,227531286
2012;4;10;19712;7;0;0;0;0;0;5274;0;0;;0

1 个答案:

答案 0 :(得分:0)

您正在正确处理数据,无需手动转换数据,read_csv函数本身可以处理此数据。

在传统格式中,巴西的数据使用逗号“,”作为小数点,列的分隔由分号“;”完成。 (与CSV文件扩展名所建议的相反)。

建议阅读文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

该文件将一列标识为字符串,因为它必须具有一些带有文本的字段或另一个无效字符。