首页| 论坛| 消息
主题:Pandas 速查手册
回帖:样式显示
df['per_cost'] = df['per_cost'].map('{:,.2f}%'.format)# 显示%比形式
# 指定列表(值大于0)加背景色
df.style.applymap(lambda x: 'background-color:grey' if x>0 else '',
subset=pd.IndexSlice[:, ['B','C']])

# 最大值最小值加背景色
df.style.highlight_max(color='lightgreen').highlight_min(color='#cd4f39')
df.style.format('{:.2%}', subset=pd.IndexSlice[:,['B']]) # 显示百分号

# 指定各列的样式
format_dict = {'sum':'${0:,.0f}',
'date': '{:%Y-%m}',
'pct_of_total': '{:.2%}'
'c': str.upper}

# 一次性样式设置
(df.style.format(format_dict) # 多种样式形式
.hide_index()
#指定列按颜色深度表示值大小, cmap 为 matplotlib colormap
.background_gradient(subset=['sum_num'],cmap='BuGn')
#表格内作横向 bar 代表值大小
.bar(color='#FFA07A',vmin=100_000, subset=['sum'], align='zero')
#表格内作横向 bar 代表值大小
.bar(color='lightgreen',vmin=0, subset=['pct_of_total'], align='zero')
#下降(小于0)为红色, 上升为绿色
.bar(color=['#ffe4e4','#bbf9ce'],vmin=0, vmax=1, subset=['增长率'], align='zero')
#给样式表格起个名字
.set_caption('2018Sales Performance')
.hide_index())

# 按条件给整行加背景色(样式)
def background_color(row):
ifrow.pv_num >= 10000:
return ['background-color: red'] * len(row)
elifrow.pv_num >= 100:
return ['background-color: yellow'] * len(row)
return[''] * len(row)
# 使用
df.style.apply(background_color, axis=1)
‹上一楼:常用备忘

# 解决科学计数法问题
df = pd.read_csv('111.csv', sep='\t ..

查看全部回帖(13)
«返回主帖