python - Pandas - 将字符串类型转换为 float

标签 python pandas

我在 DF 中有以下列。我如何将此列转换为具有 5 个小数位的 float(13,5)。字符串长度始终为 18 个字符。作为解决方法,我使用了字符串拆分函数并连接了返回值。

df=pd.DataFrame(['+00000030454360000','-00000030734250000','-00000004643685000'],columns=['qty'])
print df.qty.str[:13]+'.'+df.qty.str[13:]

预期输出

                    0
0  +304543.6
1  -307342.5
2  -46436.85

最佳答案

试试这个:

In [23]: pd.to_numeric(df.qty, errors='coerce') / 10**5
Out[23]:
0    304543.60
1   -307342.50
2    -46436.85
Name: qty, dtype: float64

关于python - Pandas - 将字符串类型转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42074308/

相关文章:

Python:如何从请求响应中读取 excel 文件?

python - 根据两列的值删除数据框 pandas 中的重复项

python - 在python中将1*5的列表(对象?)转换为df

python - opencv python没有更多的模块cv了吗?

python - 如何拆分具有多个数据的 Pandas 单元格

python - Pandas:根据包含特定值的字符串有效地子集 DataFrame

python - 计算多列中每个唯一行的字符串出现次数

python - Amazon EC2 微型实例不响应 'which python' 命令

python - 在 flask whooshalchemy 中使用 BufferedWriter

python - 如何在不使用arcpy的情况下处理python中不支持的fiona类型?