python - 将 pandas 中的 Decimal 列转换为 float 列

标签 python pandas

我有以下数据框:

df2 = pd.DataFrame({'price': [Decimal(1.4334), Decimal(1.4335), Decimal(1.4336), Decimal(1.4337)], 'tpo_count': [1, 2, 3, 1], 'tpo': ['A', 'BC', 'BCD', 'D']})
print(df2.dtypes)

price        object
tpo_count     int64
tpo          object
dtype: object

如果想要创建一个名为“price_float”的附加列,该列与“price”相同,但带有 float (稍后使用不支持十进制的 matplotlib 进行绘制)。

我已经尝试过:

df2['price_float']=float(df2['price'])

但我得到:

TypeError: cannot convert the series to <class 'float'>

最佳答案

只是模拟您的示例 DataFrame:

示例 DataFarme:

>>> df2
    price  tpo  tpo_count
0  1.4334    A          1
1  1.4335   BC          2
2  1.4336  BCD          3
3  1.4337    D          1
>>> print(df2.dtypes)
price        object
tpo          object
tpo_count     int64
dtype: object

解决方案..

>>> df2['price_float'] = df2['price'].astype(float)
>>> df2
    price  tpo  tpo_count  price_float
0  1.4334    A          1       1.4334
1  1.4335   BC          2       1.4335
2  1.4336  BCD          3       1.4336
3  1.4337    D          1       1.4337

现在您已经创建了新的float列..

>>> print(df2.dtypes)
price           object
tpo             object
tpo_count        int64
price_float    float64
dtype: object

关于python - 将 pandas 中的 Decimal 列转换为 float 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57450475/

相关文章:

python - 连接神经网络中 split 的密集层 - Keras

python - 我什么时候应该在 Pandas 数据帧上使用 query vs eval?

python - 在 python 中散列不同的元组给出相同的结果

python - 使用延迟 (DASK) 读取大型 CSV 文件

python - 了解 Pandas 的滚动相关性

python - pandas: KeyError 在一种情况下,但在另一种类似情况下则不然

python - 如何解析带引号字符串的 csv - 高级案例

python - 在 Mac 操作系统上安装 imgseek 时出错

python - 将 CSV 缩减采样 10 倍并将其保存到另一个文件中

python - 将字符串/文本和 pandas 数据框写入 excel