#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