【发布时间】:2015-12-21 02:11:33
【问题描述】:
问题设置
import pandas as pd
df = pd.DataFrame(data={'Currency': {0: 111.23, 1: 321.23},
'Int': {0: 23, 1: 3},
'Rate': {0: 0.03030, 1: 0.09840}}
)
产生以下数据帧
Currency Int Rate
0 111.23 23 0.0303
1 321.23 3 0.0984
我想使用如下 dict 对数据框中的每一列应用非常具体的格式:
format_mapping={'Currency': '${:,.2f}', 'Int': '{:,.0f}', 'Rate': '{:.2f}%'}
我知道我可以将 applymap 用于多个列或应用于单个列:
#All columns
df = df.applymap('{:.2f}%'.format)
#Specific columns
df['Rate'] = df['Rate'].apply('{:.2f}%'.format)
问题
如何遍历数据框中的每一列并使用字典应用格式,其中dict key 是column,value 是string 格式?
最终结果将如下所示(忽略百分比尚未乘以 100 的事实)
Currency Int Rate
0 $111.23 23 0.03%
1 $321.23 3 0.10%
【问题讨论】:
标签: python dictionary pandas formatting dataframe