【发布时间】:2020-03-02 17:00:36
【问题描述】:
我的问题是关于使用 python 或 pandas 计算小数点后的位数。到目前为止回答的问题首先将浮点数转换为字符串,然后计算小数点后的字符数。在将十进制转换为 str() 时,尾随零会丢失。但就我而言,我需要计算小数点后的总位数,包括尾随零(如果存在)。也就是说,对于数字 7.80,答案应该是小数点后两位而不是一位,当然,对于 7.8,答案应该是小数点后一位。请让我知道这是否可行。
其实我的问题是这样的: 假设我有一个熊猫系列如下:
0.123
0.124
0.123
0.349
0.349
0.340
我想生成两个特征。现有数据的一个简单 value_counts()。 所以答案是:
0.123 2
0.124 1
0.123 2
0.349 2
0.349 2
0.340 1
在删除最后一个数字后,另一个特征生成将是 value_counts()。新功能将是:
0.123 3
0.124 3
0.123 3
0.349 3
0.349 3
0.340 3
谢谢你的麻烦
【问题讨论】:
-
您输入的数据类型是什么?如果它是浮动的,那么后面的 0 已经丢失了!
float(7.80)输出“7.8” -
只有数字列的 Pandas 数据框
-
请添加你的数据框和
df.column.describe()的输出 -
使用
decimal而不是float将在转换为字符串时保留尾随零。 -
在熊猫系列中,astype('decimal') 不起作用