我正在代码实验室内运行此程序,以将字符串格式设置为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)
它返回正确的结果。
Utah 0.27
Ohio 1.61
Texas 0.26
Oregon -0.74
Name: e, dtype: object
答案 0 :(得分:1)
它们是否像您指示的那样是字符串?如果没有,您可以始终在frame.round(2)
df上使用pandas
。
如果是字符串,则可以先尝试将列转换为float,然后再应用round函数。
for col in frame.columns:
frame[col] = frame[col].astype(float)
frame = frame.round(2)