我有一张Excel工作表:
我读完了
import pandas as pd
import numpy as np
excel_file = 'test.xlsx'
df = pd.read_excel(excel_file, sheet_name=0)
print(df)
它显示:
name value
0 a 10000.000000
1 b 20000.000000
2 c 30000.000000
3 d 40000.000000
4 e 50000.000000
5 f 1.142857
6 g 1.285714
如何将数字输出格式化为%.2f
,如何直接通过print (df)
格式化数字,例如添加类似%.2f
的打印内容,还是必须首先修改其内容并提交?回到df
,然后再次打印?
更新:
我尝试下面的答案,df['value'].apply("{0:.2f}".format)
不起作用:
import pandas as pd
import numpy as np
excel_file = 'test.xlsx'
df = pd.read_excel(excel_file, sheet_name=0)
print(df['value'])
df['value'].apply("{0:.2f}".format)
print(df['value'])
print(df)
它显示:
0 10000.000000
1 20000.000000
2 30000.000000
3 40000.000000
4 50000.000000
5 1.142857
6 1.285714
Name: value, dtype: float64
0 10000.000000
1 20000.000000
2 30000.000000
3 40000.000000
4 50000.000000
5 1.142857
6 1.285714
Name: value, dtype: float64
name value
0 a 10000.000000
1 b 20000.000000
2 c 30000.000000
3 d 40000.000000
4 e 50000.000000
5 f 1.142857
6 g 1.285714
pd.set_option('display.float_format', lambda x: '%.2f' % x)
的工作原理:
0 10000.00
1 20000.00
2 30000.00
3 40000.00
4 50000.00
5 1.14
6 1.29
Name: value, dtype: float64
name value
0 a 10000.00
1 b 20000.00
2 c 30000.00
3 d 40000.00
4 e 50000.00
5 f 1.14
6 g 1.29
答案 0 :(得分:1)
默认的precision
是6。您可以使用pandas.set_option
覆盖它:
pd.set_option('display.precision', 2)
答案 1 :(得分:1)
您可以像这样在pandas set_option中更改熊猫的float_format
pd.set_option('display.float_format', lambda x: '%.2f' % x)
如果只想更改一列的格式,则可以执行apply
并更改格式,
df['age'].apply("{0:.2f}".format)
# Output
0 10000.00
1 20000.00
2 30000.00
3 40000.00
4 50000.00
5 1.14
6 1.29
Name: age, dtype: object