как убедиться, что целочисленная часть неизменна, когда вокруг float32 с пандами

Я не смог открыть ссылку, предоставленную @ Ogre_BGR, но при просмотре сети я нашел фактическую реализацию, выполненную в следующем smanikandan14 Github . Посмотрите на его объяснение SSl-соединения , чтобы узнать больше об этом.

2
задан scott huang 17 January 2019 в 06:18
поделиться

2 ответа

Используйте круглую функцию python и задайте точность, например:

a = 1.112346789
round(a, 6)
1.112347

round(a, 1)
1.1
0
ответ дан Kirtania 17 January 2019 в 06:18
поделиться

Вы можете использовать numpy.modf для извлечения чисел с плавающими частями fractional и integral и округлять только часть fractional, добавьте в последний раз:

df = pd.DataFrame([110100.0, 1.0, 1.12345678], dtype=np.float32, columns=['col'])

a, b = np.modf(df['col'])
print (b + np.round(a, 7))
0    110100.000000
1         1.000000
2         1.123457
Name: col, dtype: float32

Другое решение умножить на число для округления, преобразовать в целое число и разделить:

val = 10**7
print (df['col'].mul(val).astype(np.int64).div(val))
0    110100.000000
1         1.000000
2         1.123457
Name: col, dtype: float64
0
ответ дан jezrael 17 January 2019 в 06:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: