Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?

Tôi có danh sách các số nguyên và muốn có được tần suất của mỗi số nguyên. Điều này đã được thảo luận ở đây

Vấn đề là cách tiếp cận tôi sử dụng cho tôi tần suất của các số nổi khi tập dữ liệu của tôi chỉ bao gồm các số nguyên. Tại sao điều đó xảy ra và làm thế nào tôi có thể nhận được tần suất số nguyên từ dữ liệu của mình?

Tôi đang sử dụng pyplot.histogram để vẽ biểu đồ với tần suất xuất hiện

import numpy as np
import matplotlib.pyplot as plt
from numpy import *
data = loadtxt('data.txt',dtype=int,usecols=(4,)) #loading 5th column of csv file into array named data. 
plt.hist(data) #plotting the column as histogram 

Tôi đang nhận được biểu đồ, nhưng tôi đã nhận thấy rằng nếu tôi "in" hist (dữ liệu)

hist=np.histogram(data)
print hist(data)

Tôi nhận được cái này:

(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))

Trong đó mảng thứ hai biểu thị các giá trị và mảng thứ nhất biểu thị số lần xuất hiện.

Trong tập dữ liệu của tôi, tất cả các giá trị là số nguyên, làm thế nào điều đó xảy ra rằng mảng thứ hai có số nổi và làm thế nào tôi nên lấy tần số của số nguyên?

CẬP NHẬT:

Điều này giải quyết vấn đề, cảm ơn bạn Lev đã trả lời.

plt.hist(data, bins=np.arange(data.min(), data.max()+1))

Để tránh tạo một câu hỏi mới làm thế nào tôi có thể vẽ các cột "ở giữa" cho mỗi số nguyên? Giả sử, tôi muốn cột cho số nguyên 3 chiếm khoảng cách giữa 2,5 đến 3,5 không phải trong khoảng từ 3 đến 4.

Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?

Biểu đồ matplotlib được sử dụng để trực quan hóa sự phân bố tần số của mảng số bằng cách chia nó thành các thùng có kích thước bằng nhau nhỏ. Trong bài viết này, chúng tôi khám phá các kỹ thuật thực tế cực kỳ hữu ích trong phân tích dữ liệu ban đầu của bạn.

Biểu đồ tần số được sử dụng để làm gì?

  1. Một biểu đồ tần số là một kỹ thuật phân tích dữ liệu đồ họa để tóm tắt thông tin phân phối của một biến. Biến phản ứng được chia thành các khoảng (hoặc thùng) có kích thước bằng nhau. Số lần xuất hiện của biến phản hồi được tính cho mỗi thùng.
  2. Nội dung
  3. Biểu đồ là gì?
  4. Làm thế nào để vẽ một biểu đồ cơ bản trong Python?
  5. Biểu đồ được nhóm theo các danh mục trong cùng một cốt truyện
  6. Biểu đồ được nhóm theo các danh mục trong các ô con riêng biệt
  7. Biểu đồ biển và đường cong mật độ trên cùng một lô
  8. Biểu đồ và đường cong mật độ trong các mặt
  9. Sự khác biệt giữa biểu đồ và biểu đồ thanh

Thực hành tập thể dục

Sự kết luận

1. Biểu đồ là gì?

import numpy as np
x = np.random.randint(low=0, high=100, size=100)

# Compute frequency and bins
frequency, bins = np.histogram(x, bins=10, range=[0, 100])

# Pretty Print
for b, f in zip(bins[1:], frequency):
    print(round(b, 1), ' '.join(np.repeat('*', f)))

Biểu đồ là một biểu đồ phân phối tần số của mảng số bằng cách chia nó thành các thùng có kích thước bằng nhỏ.

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *

Nếu bạn muốn phân chia toán học một mảng nhất định thành các thùng và tần số, hãy sử dụng phương pháp

hist=np.histogram(data)
print hist(data)
7 numpy và in đẹp như bên dưới.

Đầu ra của mã trên trông như thế này:

Tuy nhiên, đại diện trên, won đã thực tế trên các mảng lớn, trong trường hợp đó, bạn có thể sử dụng biểu đồ matplotlib.

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update({'figure.figsize':(7,5), 'figure.dpi':100})

# Plot Histogram on x
x = np.random.normal(size = 1000)
plt.hist(x, bins=50)
plt.gca().set(title='Frequency Histogram', ylabel='Frequency');
Histogram
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Histogram

2. Làm thế nào để vẽ một biểu đồ cơ bản trong Python?

hist=np.histogram(data)
print hist(data)
8 trong matplotlib cho phép bạn vẽ biểu đồ. Nó yêu cầu mảng là đầu vào cần thiết và bạn có thể chỉ định số lượng thùng cần thiết.

3. Biểu đồ được nhóm theo các danh mục trong cùng một cốt truyện

Bạn có thể vẽ đồ thị nhiều biểu đồ trong cùng một cốt truyện. Điều này có thể hữu ích nếu bạn muốn so sánh phân phối của một biến liên tục được nhóm theo các danh mục khác nhau.
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Diamonds Table

Hãy để sử dụng bộ dữ liệu kim cương từ gói RTHER GGPLOT2.

import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/diamonds.csv')
df.head()
Diamonds
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Multi Histogram

Hãy để so sánh phân phối

hist=np.histogram(data)
print hist(data)
9 cho 3 giá trị khác nhau của
(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
0 trong cùng một lô.

Biểu đồ

x1 = df.loc[df.cut=='Ideal', 'depth']
x2 = df.loc[df.cut=='Fair', 'depth']
x3 = df.loc[df.cut=='Good', 'depth']

kwargs = dict(alpha=0.5, bins=100)

plt.hist(x1, **kwargs, color='g', label='Ideal')
plt.hist(x2, **kwargs, color='b', label='Fair')
plt.hist(x3, **kwargs, color='r', label='Good')
plt.gca().set(title='Frequency Histogram of Diamond Depths', ylabel='Frequency')
plt.xlim(50,75)
plt.legend();
Multi

Vâng, các phân phối cho 3 vết cắt khác nhau là khác nhau khác nhau. Nhưng vì, số lượng các dữ liệu được cắt giảm nhiều hơn cho

(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
1, nó chiếm ưu thế hơn.

Vì vậy, làm thế nào để khắc phục lớp chiếm ưu thế và vẫn duy trì tính tách biệt của các bản phân phối?
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Multi Histogram 2

Bạn có thể bình thường hóa nó bằng cách đặt (array([ 2323, 16338, 1587, 212, 26, 14, 3, 2, 2, 2]), array([ 1. , 2.8, 4.6, 6.4, 8.2, 10. , 11.8, 13.6, 15.4, 17.2, 19. ])) 2 và (array([ 2323, 16338, 1587, 212, 26, 14, 3, 2, 2, 2]), array([ 1. , 2.8, 4.6, 6.4, 8.2, 10. , 11.8, 13.6, 15.4, 17.2, 19. ])) 3. Bằng cách này, tổng diện tích trong mỗi phân phối trở thành 1.

Biểu đồ có thể được tạo như các mặt bằng cách sử dụng

(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
4

Dưới đây tôi vẽ một biểu đồ của

hist=np.histogram(data)
print hist(data)
9 cho mỗi loại
(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
0. Nó thuận tiện để làm điều đó trong một vòng lặp.

hist=np.histogram(data)
print hist(data)
0Histograms khía cạnh
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Histograms Facets

5. Biểu đồ biển và đường cong mật độ trên cùng một lô

Nếu bạn muốn có cả biểu đồ và mật độ trong cùng một lô, gói Seaborn (được nhập dưới dạng

(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
7) cho phép bạn thực hiện điều đó thông qua
(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
8. Vì Seaborn được xây dựng trên đỉnh của matplotlib, bạn có thể sử dụng
(array([ 2323, 16338,  1587,   212,    26,    14,     3,     2,     2,     2]), 
array([  1. ,   2.8,   4.6,   6.4,   8.2,  10. ,  11.8,  13.6,  15.4,
    17.2,  19. ]))
7 và
plt.hist(data, bins=np.arange(data.min(), data.max()+1))
0 này đến lần khác.

Nhận khóa học Python hoàn thành miễn phí

Đối mặt với tình huống tương tự như mọi người khác?

Xây dựng sự nghiệp khoa học dữ liệu của bạn với trình độ được công nhận trên toàn cầu, được công nghiệp phê duyệt. Có được suy nghĩ, sự tự tin và các kỹ năng làm cho nhà khoa học dữ liệu trở nên có giá trị.

Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?

Nhận khóa học Python hoàn thành miễn phí

Xây dựng sự nghiệp khoa học dữ liệu của bạn với trình độ được công nhận trên toàn cầu, được công nghiệp phê duyệt. Có được suy nghĩ, sự tự tin và các kỹ năng làm cho nhà khoa học dữ liệu trở nên có giá trị.

hist=np.histogram(data)
print hist(data)
1Histograms Mật độ
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Histograms Density

6. Biểu đồ và đường cong mật độ trong các mặt

Ví dụ dưới đây cho thấy cách vẽ biểu đồ và mật độ (

plt.hist(data, bins=np.arange(data.min(), data.max()+1))
1) trong các khía cạnh.

hist=np.histogram(data)
print hist(data)
2Histogram Mật độ các khía cạnh
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Histogram Density Facets

7. Sự khác biệt giữa biểu đồ và biểu đồ thanh

Một biểu đồ được vẽ trên các mảng lớn. Nó tính toán phân phối tần số trên một mảng và tạo ra một biểu đồ từ nó.

Mặt khác, biểu đồ thanh được sử dụng khi bạn có cả X và Y đã cho và có số lượng điểm dữ liệu hạn chế có thể được hiển thị dưới dạng thanh.

hist=np.histogram(data)
print hist(data)
3Diamonds_Cut
hist=np.histogram(data)
print hist(data)
4Barplots
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Diamonds_Cut
hist=np.histogram(data)
print hist(data)
4
Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Barplots

8. Thực hành tập thể dục

Tạo mật độ sau trên

plt.hist(data, bins=np.arange(data.min(), data.max()+1))
2 của bộ dữ liệu
plt.hist(data, bins=np.arange(data.min(), data.max()+1))
3 trên sổ ghi chép Jupyter của bạn.

hist=np.histogram(data)
print hist(data)
5

Hiển thị giải pháp

hist=np.histogram(data)
print hist(data)
6

Hướng dẫn how do you plot frequency in python? - làm thế nào để bạn vẽ tần số trong python?
Biểu đồ iris

9. Điều gì tiếp theo

Xin chúc mừng nếu bạn có thể tái tạo cốt truyện.

Bạn có thể quan tâm đến hướng dẫn Matplotlib, 50 lô hàng đầu matplotlib và các hướng dẫn âm mưu khác.

Bài viết liên quan

  1. Subplotlib Subplots
  2. Top 50 trực quan hóa matplotlib
  3. Hướng dẫn Matplotlib
  4. Matplotlib pyplot
  5. Biểu đồ matplotlib
  6. Biểu đồ thanh trong Python
  7. Biểu đồ hộp trong Python

Biểu đồ nào được sử dụng để hiển thị tần số của các yếu tố?

Biểu đồ là gì?Biểu đồ là một biểu đồ biểu thị phân phối các giá trị của biến số dưới dạng một loạt các thanh.Mỗi thanh thường bao gồm một loạt các giá trị số được gọi là thùng hoặc lớp;Chiều cao của thanh cho biết tần suất của các điểm dữ liệu có giá trị trong thùng tương ứng.a histogram? A histogram is a chart that plots the distribution of a numeric variable's values as a series of bars. Each bar typically covers a range of numeric values called a bin or class; a bar's height indicates the frequency of data points with a value within the corresponding bin.

Tần số trong biểu đồ trong Python là gì?

Biểu đồ matplotlib được sử dụng để trực quan hóa sự phân bố tần số của mảng số bằng cách chia nó thành các thùng có kích thước bằng nhau nhỏ.Trong bài viết này, chúng tôi khám phá các kỹ thuật thực tế cực kỳ hữu ích trong phân tích dữ liệu ban đầu của bạn.used to visualize the frequency distribution of numeric array by splitting it to small equal-sized bins. In this article, we explore practical techniques that are extremely useful in your initial data analysis and plotting.

Biểu đồ tần số được sử dụng để làm gì?

Một biểu đồ tần số là một kỹ thuật phân tích dữ liệu đồ họa để tóm tắt thông tin phân phối của một biến.Biến phản ứng được chia thành các khoảng (hoặc thùng) có kích thước bằng nhau.Số lần xuất hiện của biến phản hồi được tính cho mỗi thùng.summarizing the distributional information of a variable. The response variable is divided into equal sized intervals (or bins). The number of occurrences of the response variable is calculated for each bin.