将小数从浮点对象移到绘图中



我正试图制作一个具有公司名称+呼叫总数作为标签的图表。

我正在使用散景

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

但是CompanyName是一个str, Total是一个float对象,所以事情变得复杂了。我修复了TypeError: cannot concatenate 'str' and 'float' objects,并设法用

绘制了它的图形
p.text(xr, yr, df.CompanyName + (map(str,df.Total)), angle=label_angle,
    text_font_size="9pt", text_align="center", text_baseline="middle")

但是,这将打印CompanyName和一个带有小数的数字。我已经尝试了各种方法来删减这个小数,从建议的:

"{:.0f}".format(df.Total) 

得到这个:ValueError: Unknown format code 'f' for object of type 'str'

什么鬼,当我用print df.Total时,我得到dtype: float64如果我尝试floor(df.Total),我得到TypeError: cannot convert the series to <type 'float'>我很困惑。有人知道这是怎么回事吗?

先将浮点数转换为整型,然后再转换为字符串。您需要使用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")

相关内容

  • 没有找到相关文章

最新更新