【发布时间】:2014-04-10 13:29:35
【问题描述】:
固定格式的数据文件有时没有明确的小数点,而是依靠格式化字符串将整数解析为浮点数(例如,%4.2f)。 read_fwf 中是否内置了此类功能?即,有没有一种简单的方法可以将 1004 解析为 10.04?
【问题讨论】:
固定格式的数据文件有时没有明确的小数点,而是依靠格式化字符串将整数解析为浮点数(例如,%4.2f)。 read_fwf 中是否内置了此类功能?即,有没有一种简单的方法可以将 1004 解析为 10.04?
【问题讨论】:
您可以使用自定义转换器,在您阅读文件时即时转换:
def convert_to_decimals(x):
return x.format('4%.2f')
df = pd.read_fwf('myfile', converters={'col_to_convert':convert_to_decimals})
所以这里发生的情况是,我们正在定义一个转换函数,然后通过传递一个 dict 来设置 converters 参数,其中包含我们要转换的列作为键,函数名称作为转换函数。
【讨论】:
def convert_to_decimals(x): return float(x[:-2] + '.' + x[-2:])