百分比格式

1
%.1f%%  #保留1位小数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
import numpy as np
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)

df = pd.DataFrame({
"name":["小明","小红","小侯","小周","小孙"],
"sex":["男","女","女","男","男"],
"money":[10000,8009,78000,76000,187000],
"class":[1,2,2,1,2]
})

df = df.sort_values(by=['money'],ascending=False)

x_data = df['name']
y_data = df['money']
y_zhanbi = y_data/df['money'].sum()*100

df
1
2
3
4
5
6
   name sex   money  class
4 小孙 男 187000 2
2 小侯 女 78000 2
3 小周 男 76000 1
0 小明 男 10000 1
1 小红 女 8009 2
1
2
3
print('1.',x_data[0],':%.1f%%(%.0f)' %(y_zhanbi[0],y_data[0]),sep='')
print('2.',x_data[1],':%.1f%%(%.0f)' %(y_zhanbi[1],y_data[1]),sep='')
print('3.',x_data[2],':%.1f%%(%.0f)' %(y_zhanbi[2],y_data[2]),sep='')
1
2
3
1.小明:2.8%(10000)
2.小红:2.2%(8009)
3.小侯:21.7%(78000)