从float对象中删除小数到绘图

时间:2015-08-04 16:12:00

标签: python format decimal concatenation truncate

我正在尝试制作一个包含CompanyName +总呼叫数量的图表作为标签。

我在这个命令中使用散景

children = in.createTypedArrayList(Category.CREATOR);

但是CompanyName是一个str而Total是一个浮点对象,所以事情变得复杂了。我修复了p.text(xr, yr, df.CompanyName + df.Total, angle=label_angle, text_font_size="9pt", text_align="center", text_baseline="middle") 并设法使用

绘制图表
TypeError: cannot concatenate 'str' and 'float' objects

但是,这会打印CompanyName和带小数的数字。我已经尝试过各种方法来删除这个十进制数,从经常建议:

p.text(xr, yr, df.CompanyName + (map(str,df.Total)), angle=label_angle,
    text_font_size="9pt", text_align="center", text_baseline="middle")

这给了我:"{:.0f}".format(df.Total)

当我ValueError: Unknown format code 'f' for object of type 'str'得到print df.Total时,真是太棒了 如果我尝试dtype: float64,我会floor(df.Total) 我很迷茫。有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:1)

首先将float转换为int,然后转换为字符串。您需要使用map,因为df.Total是可迭代的。这就是float(df.Total)不起作用的原因。

map(str,map(int, df.Total))

然后你可以在散景电话中连接它。

p.text(xr, yr, df.CompanyName + map(str,map(int, df.Total)),
       angle=label_angle, text_font_size="9pt",
       text_align="center", text_baseline="middle")