熊猫舍入

时间:2020-10-05 20:06:53

标签: pandas dataframe rounding

我有以下示例数据框:

Market Value
0  282024800.37
1  317460884.85
2 1260854026.24
3  320556927.27
4   42305412.79

我正在尝试将此数据框中的值四舍五入到最接近的整数。所需的输出:

Market Value

282024800
317460885
1260854026
320556927
42305413

我尝试过:

df.values.round()

结果是

Market Value

282025000.00 
317461000.00 
1260850000.00 
320557000.00 
42305400.00 

我在做什么错了?

谢谢

2 个答案:

答案 0 :(得分:1)

这可能更适合作为评论发布,但请以正确的格式放在此处。

我无法得出您的结果。使用numpy 1.18.1和Pandas 1.1.0,

df.round().astype('int')

给我:

   Market Value
0     282024800
1     317460885
2    1260854026
3     320556927
4      42305413

我唯一想到的就是您可能拥有32位系统,

df.astype('float32').round().astype('int')

给我

   Market Value
0     282024800
1     317460896
2    1260854016
3     320556928
4      42305412

答案 1 :(得分:1)

以下内容将使您的数据信息保持完整,就像浮点数将其显示/打印到最接近的整数一样。

重要警告:,只能一次将其应用于所有数据框(这是一个熊猫范围的选择),而不是单个数据框。

pd.set_option("display.precision", 0)