我正在尝试制作一个包含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)
我很迷茫。有谁知道这里发生了什么?
答案 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")