📅  最后修改于: 2023-12-03 14:51:03.796000             🧑  作者: Mango
Pandas 是一种强大的数据操作库,特别适合于数据处理。在 Pandas 中,经常需要对 Dataframe 中的浮点数列进行格式化,以使其满足特定的显示需要。本文将介绍如何在 Pandas 中格式化浮点数列。
假设我们有一个包含浮点列的简单 Dataframe:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1.234567, 2.345678, 3.456789],
'B': [4.567890, 5.678901, 6.789012],
'C': [7.890123, 8.901234, 9.012345]
})
此时,我们可以使用 Pandas 的 head
方法来查看前几行数据:
df.head()
输出:
A B C
0 1.234567 4.567890 7.890123
1 2.345678 5.678901 8.901234
2 3.456789 6.789012 9.012345
我们可以看到,浮点列默认显示到小数点后 6 位。如果想调整小数位数,我们可以使用 Pandas 的 round
方法。
round
方法用于设置浮点数的小数位数,语法如下:
df.round(decimals, *args, **kwargs)
其中,decimals
参数表示需要保留的小数位数。
例如,如果我们希望将 Dataframe 中所有浮点列显示到小数点后 2 位,可以这样做:
df.round(decimals=2)
输出:
A B C
0 1.23 4.57 7.89
1 2.35 5.68 8.90
2 3.46 6.79 9.01
我们可以看到,所有浮点数列都被显示到了小数点后 2 位。
如果我们需要对不同的浮点数列设置不同的小数位数,可以使用 Pandas 的 apply
方法。假设我们需要将 A
列显示到小数点后 2 位,将 B
列显示到小数点后 3 位,将 C
列显示到小数点后 4 位,可以这样做:
df[['A', 'B', 'C']] = df[['A', 'B', 'C']].apply(lambda x: pd.Series(x).round(decimals=2), axis=1)
df[['B']] = df[['B']].apply(lambda x: pd.Series(x).round(decimals=3), axis=1)
df[['C']] = df[['C']].apply(lambda x: pd.Series(x).round(decimals=4), axis=1)
输出:
A B C
0 1.23 4.568 7.8901
1 2.35 5.679 8.9012
2 3.46 6.789 9.01235
我们可以看到,A
列显示到了小数点后 2 位,B
列显示到了小数点后 3 位,C
列显示到了小数点后 4 位。
在 Pandas 中格式化 Dataframe 的浮点列可以通过 round
方法和 apply
方法完成,具体方法取决于我们需要保留的小数位数。这些方法能够帮助我们更好地展示浮点数据,并使数据更易于理解。