【发布时间】:2015-08-04 16:12:00
【问题描述】:
我正在尝试制作一个以 CompanyName + Total Number of Calls 作为标签的图表。
我在这个命令中使用散景
p.text(xr, yr, df.CompanyName + df.Total, angle=label_angle,
text_font_size="9pt", text_align="center", text_baseline="middle")
但是 CompanyName 是一个 str 而 Total 是一个浮点对象,所以事情变得复杂了。我修复了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'>
我很迷茫。有谁知道这里发生了什么?
【问题讨论】:
-
尝试先将其转换为 int。
-
类似
map(str, map(int, df.Total)) -
谢谢@Brobin!那行得通。我曾尝试将它转换为该命令之外的 int ,但它仍然对类型感到生气。您将其转换为 int 内部地图的方法使其起作用。
-
太棒了,我会把它作为答案发布。
标签: python format decimal concatenation truncate