【问题标题】:I lose decimals when adding a list of floats to a dataframe as a column将浮点数列表作为列添加到数据框时,我会丢失小数
【发布时间】:2021-02-11 04:58:18
【问题描述】:

我有一个浮点列表,我想将它们作为新列添加到数据框中。每个浮点数大约有 9 到 10 位小数,我需要所有这些。问题是,当我将列表作为新列添加到数据框中时,我丢失了小数(只剩下四个)。 我用于添加列表的方法首先是pd.concat,然后只是在数据框中创建一个与列表完全相同的新变量,但它们都不起作用。

my_list
[0.0,
 0.0,
 0.039403929840504,
 0.000020304030304,
 0.0,
 0.00010000000000331966,
 0.0,
 0.0,
 9.99999999891088e-05,
 0.00010000000000331966,
 0.0]

这就是列表,我想将其作为新列添加到数据框中,而不会丢失任何小数点。顺便说一句,数据框的行数与列表中的元素相同。

【问题讨论】:

标签: python python-3.x


【解决方案1】:

您不会丢失精度,只是没有打印出来

In [18]: my_list
Out[18]:
[0.0,
 0.0,
 0.039403929840504,
 2.0304030304e-05,
 0.0,
 0.00010000000000331966,
 0.0,
 0.0,
 9.99999999891088e-05,
 0.00010000000000331966,
 0.0]

In [19]: df = pd.DataFrame(my_list)

In [20]: df
Out[20]:
           0
0   0.000000
1   0.000000
2   0.039404
3   0.000020
4   0.000000
5   0.000100
6   0.000000
7   0.000000
8   0.000100
9   0.000100
10  0.000000

In [21]: df.loc[3][0]
Out[21]: 2.0304030304e-05

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2011-07-11
    相关资源
    最近更新 更多