Гістограма
Гістограми відображають частоту або ймовірнісний розподіл змінної за допомогою вертикальних бінів однакової ширини, які часто називають стовпчиками.
Модуль pyplot надає функцію hist для створення гістограм. Обов'язковим параметром є дані (x), які можуть бути масивом або послідовністю масивів. Якщо передано кілька масивів, кожен з них відображається різним кольором.
12345678910import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a histogram plt.hist(weather_df['Seattle']) plt.show()
Інтервали та Висота
До Series було передано hist() із щорічними температурами Сіетла. За замовчуванням дані розбиваються на 10 рівних інтервалів між мінімальним і максимальним значеннями. Відображається лише 9 бінів, оскільки один інтервал не містить жодного значення.
Висота біна показує частоту — скільки точок даних потрапляє в кожен інтервал.
Кількість бінів
Необов'язковий параметр bins може бути цілим числом (кількість бінів), послідовністю меж або рядком. Зазвичай достатньо вказати кількість бінів.
Поширене правило для вибору кількості бінів — формула Стерджеса, яка базується на розмірі вибірки:
bins = 1 + int(np.log2(n))
де n — розмір набору даних.
Ви можете дослідити додаткові методи обчислення бінів тут.
12345678910import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
Кількість рядків у DataFrame становить 26 (розмір Series), тому підсумкова кількість бінів дорівнює 5.
Наближення ймовірнісної щільності
Для наближення ймовірнісної щільності встановіть density=True у hist().
Тоді висота кожного біну обчислюється як:
де:
- ( n ) — загальна кількість значень,
- ( m ) — кількість у біні,
- ( w ) — ширина біну.
Це забезпечує, що загальна площа гістограми дорівнює 1, що відповідає поведінці PDF.
12345678910import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
Це забезпечує апроксимацію функції щільності ймовірності для температурних даних.
Якщо бажаєте дізнатися більше про параметри функції hist(), зверніться до hist() документації.
Swipe to start coding
Створення апроксимації функції щільності ймовірності за допомогою вибірки зі стандартного нормального розподілу:
- Використання відповідної функції для побудови гістограми.
- Використання
normal_sampleяк даних для гістограми. - Вказання кількості бінів як другого аргументу за формулою Стерджеса.
- Перетворення гістограми на апроксимацію функції щільності ймовірності шляхом правильного зазначення крайнього правого аргументу.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain how the `density=True` parameter changes the histogram?
What does the resulting histogram tell us about the Seattle temperature data?
How can I compare histograms for Boston and Seattle on the same plot?
Awesome!
Completion rate improved to 3.85
Гістограма
Свайпніть щоб показати меню
Гістограми відображають частоту або ймовірнісний розподіл змінної за допомогою вертикальних бінів однакової ширини, які часто називають стовпчиками.
Модуль pyplot надає функцію hist для створення гістограм. Обов'язковим параметром є дані (x), які можуть бути масивом або послідовністю масивів. Якщо передано кілька масивів, кожен з них відображається різним кольором.
12345678910import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a histogram plt.hist(weather_df['Seattle']) plt.show()
Інтервали та Висота
До Series було передано hist() із щорічними температурами Сіетла. За замовчуванням дані розбиваються на 10 рівних інтервалів між мінімальним і максимальним значеннями. Відображається лише 9 бінів, оскільки один інтервал не містить жодного значення.
Висота біна показує частоту — скільки точок даних потрапляє в кожен інтервал.
Кількість бінів
Необов'язковий параметр bins може бути цілим числом (кількість бінів), послідовністю меж або рядком. Зазвичай достатньо вказати кількість бінів.
Поширене правило для вибору кількості бінів — формула Стерджеса, яка базується на розмірі вибірки:
bins = 1 + int(np.log2(n))
де n — розмір набору даних.
Ви можете дослідити додаткові методи обчислення бінів тут.
12345678910import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Specifying the number of bins plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df)))) plt.show()
Кількість рядків у DataFrame становить 26 (розмір Series), тому підсумкова кількість бінів дорівнює 5.
Наближення ймовірнісної щільності
Для наближення ймовірнісної щільності встановіть density=True у hist().
Тоді висота кожного біну обчислюється як:
де:
- ( n ) — загальна кількість значень,
- ( m ) — кількість у біні,
- ( w ) — ширина біну.
Це забезпечує, що загальна площа гістограми дорівнює 1, що відповідає поведінці PDF.
12345678910import pandas as pd import matplotlib.pyplot as plt import numpy as np url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Making a histogram a probability density function approximation plt.hist(weather_df['Seattle'], bins=1 + int(np.log2(len(weather_df))), density=True) plt.show()
Це забезпечує апроксимацію функції щільності ймовірності для температурних даних.
Якщо бажаєте дізнатися більше про параметри функції hist(), зверніться до hist() документації.
Swipe to start coding
Створення апроксимації функції щільності ймовірності за допомогою вибірки зі стандартного нормального розподілу:
- Використання відповідної функції для побудови гістограми.
- Використання
normal_sampleяк даних для гістограми. - Вказання кількості бінів як другого аргументу за формулою Стерджеса.
- Перетворення гістограми на апроксимацію функції щільності ймовірності шляхом правильного зазначення крайнього правого аргументу.
Рішення
Дякуємо за ваш відгук!
single