pandas选项:将浮点格式应用于元组中的浮点



我有一个数据帧,如下所示:

import pandas as pd
df = pd.DataFrame({"A":[1.25,2.25], "B":[(3.25,4.23),(1.22,6.33)]})
A             B
0  1.25  (3.25, 4.23)
1  2.25  (1.22, 6.33)

现在,我希望在打印数据帧时,所有浮点值都只有一个小数。所以我应用以下设置:

pd.options.display.float_format = '{:,.1f}'.format

因此,数据帧现在打印如下:

A             B
0 1.2  (3.25, 4.23)
1 2.2  (1.22, 6.33)

正如您所看到的,元组(B(中的浮点没有格式化,但由纯浮点组成的列格式化了(A(。有没有一种方法可以设置一个全局选项来格式化也在元组中的浮点值。我知道我可以将格式化函数应用于该列,但我特别要求提供与上述类似的全局选项。谢谢

预期输出为:

A             B
0 1.2  (3.2, 4.2)
1 2.2  (1.2, 6.3)

它不能全局执行,但可以在列级别上使用pandas样式器指定:

import pandas as pd
df = pd.DataFrame({
'A': [1.25, 2.25], 
'B': [(3.25, 4.23), (1.22, 6.33)]
})
df.style.format({'A': '{:,.1f}', 'B': lambda x: '({:,.1f}, {:,.1f})'.format(*x)})

最新更新