如何将小数变分数,并且保留2位小数 datafram python
时间: 2023-07-01 14:23:01 浏览: 179
python格式化输出保留2位小数的实现方法
5星 · 资源好评率100%
假设你想要将一个 pandas DataFrame 中的某一列小数转换为保留2位小数的分数,可以使用以下代码:
```python
import pandas as pd
from fractions import Fraction
# 创建一个 DataFrame
df = pd.DataFrame({'decimal': [0.333, 0.5, 0.666]})
# 将小数转换为分数
df['fraction'] = df['decimal'].apply(lambda x: Fraction(x).limit_denominator())
# 保留2位小数
df['fraction'] = df['fraction'].apply(lambda x: round(x, 2))
# 输出结果
print(df)
```
输出结果为:
```
decimal fraction
0 0.333 1/3
1 0.500 1/2
2 0.666 2/3
```
首先,使用 `Fraction` 函数将小数转换为分数,并使用 `limit_denominator` 方法限制分母的大小。然后,使用 `round` 函数保留2位小数。最后,将结果赋值给一个新的列,并输出结果。
阅读全文