Pandas applymap 函数不格式化数字
Pandas applymap function does not format numbers
我是 运行 代码实验室内的这个,将字符串格式化为 2 个小数点。但是,它不起作用。请问有什么问题吗?我在 Colab。
当我发出以下命令时:
format = lambda x: '%.2f' % x
frame.applymap(format) # applies to every single entry
我明白了
b d e
Utah 0.950857 -0.472254 -0.109456
Ohio -0.738897 0.218620 -0.982334
Texas 0.400049 0.412557 -0.262711
Oregon 1.130821 0.236745 1.921072
然而,当我发出
frame['e'].map(format)
结果returns正确。
Utah 0.27
Ohio 1.61
Texas 0.26
Oregon -0.74
Name: e, dtype: object
这是我的处决。
它们是您指定的字符串吗?如果没有,您始终可以在 pandas
df 上使用 frame.round(2)
。
如果是字符串,您可以尝试先将列转换为浮点数,然后应用舍入函数。
for col in frame.columns:
frame[col] = frame[col].astype(float)
frame = frame.round(2)
我是 运行 代码实验室内的这个,将字符串格式化为 2 个小数点。但是,它不起作用。请问有什么问题吗?我在 Colab。
当我发出以下命令时:
format = lambda x: '%.2f' % x
frame.applymap(format) # applies to every single entry
我明白了
b d e
Utah 0.950857 -0.472254 -0.109456
Ohio -0.738897 0.218620 -0.982334
Texas 0.400049 0.412557 -0.262711
Oregon 1.130821 0.236745 1.921072
然而,当我发出
frame['e'].map(format)
结果returns正确。
Utah 0.27
Ohio 1.61
Texas 0.26
Oregon -0.74
Name: e, dtype: object
这是我的处决。
它们是您指定的字符串吗?如果没有,您始终可以在 pandas
df 上使用 frame.round(2)
。
如果是字符串,您可以尝试先将列转换为浮点数,然后应用舍入函数。
for col in frame.columns:
frame[col] = frame[col].astype(float)
frame = frame.round(2)