Я пытаюсь усечь числа с плавающей запятой в моем DataFrame до желаемого количества десятичных знаков. Я обнаружил, что это можно сделать с помощью Pandas и NumPy, но я также видел, что это возможно с помощью Polars.Config.set_float_precision.
Ниже мой нынешний подход, но я думаю, что могу предпринять дополнительные шаги.
import polars as pl
data = {
"name": ["Alice", "Bob", "Charlie"],
"grade": [90.23456, 80.98765, 85.12345],
}
df = pl.DataFrame(data)
(
df
# Convert to string
.with_columns(
pl.col("grade").map_elements(
lambda x: f"{x:.5f}",
return_dtype=pl.String
).alias("formatted_grade")
)
# Slice to get desired decimals
.with_columns(
pl.col("formatted_grade").str.slice(0, length = 4)
)
# Convert back to Float
.with_columns(
pl.col("formatted_grade").cast(pl.Float64)
)
)
Подробнее здесь: https://stackoverflow.com/questions/786 ... s-decimals
Polars усекает десятичные дроби ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение