как преобразовать целое число в десятичное число в python?

#python #matplotlib #data-analysis

Вопрос:

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

Вот мой код:

 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns day = pd.read_csv("day.csv") fig = plt.figure(figsize = (10,8)) fig, ax = plt.subplots() sns.scatterplot(x = "temp", y = "cnt", data = day, ) ax.scatter(x, y, marker = 'o') ax.set_title("Bike Rentals at Different Temperatures" , fontsize = 14) ax.set_xlabel("Count of Total Bike Rentals", fontsize = 12) ax.set_ylabel("Normalized Temperature", fontsize = 12) plt.show()  

Вот что у меня есть :

введите описание изображения здесь

Это то, что мне нужно сделать: Это то, что мне нужно сделать:

Комментарии:

1. Не могли бы вы, пожалуйста, предоставить нам образец ваших данных?

2. В чем ваша реальная проблема? Этот код предназначен для построения некоторых данных, какое это имеет отношение к преобразованию целых чисел в десятичные?

3. Кроме того , не могли бы вы подробнее рассказать о том, что такое «Нормализованная температура»? Также вы устанавливаете x-метку Count of Total Bike Rentals и y-метку Normalized Temperature , но на желаемом графике x-метка есть Normalized Temperature … Данные — x есть temp и y есть cnt

4. Я думаю, что все, что вам нужно, это установить минимальное и максимальное значение для оси x. Все ваши наблюдения (точки)] выглядят разбросанными между 0 и 1. Я предполагаю, что есть выброс, который тормозит это для вас (оранжевая точка).

5. моя реальная проблема заключается в изменении чисел в верхней части нормализованной температуры, например: в моем случае есть целые числа, но мне нужно преобразовать их в десятичные.

Ответ №1:

Вы можете использовать приведение типов :

 n = 5 n = float(5)  

Или на любом языке программирования вы можете просто разделить n на 1.0 , чтобы получить число с плавающей запятой:

 n = 5 n = n / 1.0  

Ответ №2:

Переменные в python динамически типизируются, что означает, что тип данных переменной определяется во время выполнения. Из-за этого целые числа часто будут вести себя как числа с плавающей запятой, когда это необходимо. В качестве альтернативы они могут быть преобразованы с помощью функции float.

Мы можем изучить это поведение, используя метод isinstance, чтобы определить тип данных. Рассмотрим этот пример:

 n = 2 m = 3 print(isinstance(n, int)) # True  a = n / m print(isinstance(a, int)) # False print(isinstance(a, float)) # True  b = n   1.0 print(isinstance(b, int)) # False print(isinstance(b, float)) # True  

Разделение в python создает плавающую строку в python, независимо от того, являются ли входные данные целыми числами, плавающими числами или их комбинацией. Для использования разделения этажей используется отдельный оператор, т. е. n // m , который всегда выдает целое число.

Однако сложение приведет к получению целого числа, если оба числа являются целыми числами, и выведет значение с плавающей точкой, если любое из чисел является плавающей точкой. Аналогичным образом, преобразование целых чисел в плавающие числа обрабатывается множеством функций и библиотек автоматически.

Из-за такого поведения в большинстве случаев не должно быть необходимости принудительно вводить тип данных. Для явного преобразования вы можете использовать встроенную функцию float.

 n = 2 print(isinstance(n, int)) # True  n = float(n) print(isinstance(n, float)) # True