本文中的例子均以 jupyter notebook 运行并输出结果截图,公众号有相关图文教程说明如何安装和配置 jupyter notebook,如有需要可前往查看
在处理和分析数据的过程中,有时我们涉及到需要以百分比的格式输出某个结果,或者以百分比的格式输出统计结果(数据量少的情况下)
下面直接附上例子的代码和运行结果截图
#假设结果为 96.6 ,赋值给变量xx = 96.6print('方法一:保留2位小数 %.2f%%'%x)# 当不保留小数时,输出结果默认四舍五入print('方法一:不保留小数位数 %.0f%%'%x)print('方法二:保留两位小数 {:.2f}%'.format(x))# 当不保留小数时,输出结果默认四舍五入print('方法二:不保留小数位数 {:.0f}%'.format(x))# 注意输出结果均为字符串(str)格式# 查看输出结果的类型type('{:.0f}%'.format(x))
输出结果如下,注意百分比格式输出的结果数据类型均为字符串格式,不能直接再次运算

例如,新增用户的留存率需要用百分比格式展示,数据量不大,为了方便结果的查看需要直接以百分比格式输出,可以用这种方法
import pandas as pd# 创建一个 dataframed = {"时间": ["当天新增","次日","3日","7日","30日"],"留存用户数":[1986,1801,1211,1005,905]}df = pd.DataFrame(data = d)df

计算留存率
# 计算留存率,并以保留2位小数的百分比格式输出结果df['留存率'] = df['留存用户数'].apply(lambda x:"%.2f%%"%((x/1986)*100))df
结果

数据可视化是数据分析中特别重要的一步,如何输出百分比的数据标签图呢,excel以及其他BI工具都非常简单,那么python也不难以 pyecharts为例
# 导入pyecharts可视化模块from pyecharts.charts import Linefrom pyecharts import options as optsfrom pyecharts.commons.utils import JsCodefrom pyecharts.globals import ThemeTypedata_x = df['时间'].tolist()data_y = df['留存率'].tolist()data_y_0 = [float(x.strip('%')) for x in data_y]line = (Line(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)).add_xaxis(data_x) # 添加x轴数据.add_yaxis("留存率", data_y_0, # 标题和y轴数据label_opts=opts.LabelOpts(formatter=JsCode("function (params) {return params.value[1] + '%'}"))).set_global_opts(yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} %"))) # 设置y轴的数据格式)line.render_notebook()
结果:

c = (Bar().add_xaxis(data_x).add_yaxis("留存率",data_y_0,label_opts=opts.LabelOpts(formatter="{c}%")).set_global_opts(tooltip_opts=opts.TooltipOpts(formatter="{c}%")))c.render_notebook()
结果如图

end~~
欢迎扫码关注
或点击文章顶部蓝字关注

