Câu hỏi của tôi là làm thế nào để tạo biểu đồ phân phối bình thường từ khung dữ liệu trong Python. Tôi có thể tìm thấy nhiều thông tin để tạo biểu đồ như vậy từ các số ngẫu nhiên, nhưng tôi không biết làm thế nào để làm từ khung dữ liệu.
Đầu tiên, tôi tạo ra các số ngẫu nhiên và tạo một khung dữ liệu.
import numpy as np import pandas from pandas import DataFrame cv1 = np.random.normal(50, 3, 1000) source = {"Genotype": ["CV1"]*1000, "AGW": cv1} Cultivar_1=DataFrame(source)Sau đó, tôi đã cố gắng thực hiện một biểu đồ phân phối bình thường.
sns.kdeplot(data = Cultivar_1['AGW']) plt.xlim([30,70]) plt.xlabel("Grain weight (mg)", size=12) plt.ylabel("Frequency", size=12) plt.grid(True, alpha=0.3, linestyle="--") plt.show()Tuy nhiên, đây là biểu đồ mật độ, không phải là biểu đồ phân phối bình thường được tính toán bằng độ lệch trung bình và độ lệch chuẩn.mean and standard deviation.
Bạn có thể cho tôi biết tôi cần sử dụng mã nào để tạo biểu đồ phân phối bình thường không?
Thanks!!
Tạo sơ đồ ước tính mật độ hạt nhân bằng cách sử dụng hạt nhân Gaussian. Trong thống kê, ước tính mật độ hạt nhân (KDE) là một cách không tham số để ước tính hàm mật độ xác suất (PDF) của một biến ngẫu nhiên. Hàm này sử dụng hạt nhân Gaussian và bao gồm xác định băng thông tự động. Phương pháp được sử dụng để tính toán băng thông ước tính. Đây có thể là ‘Scott,‘ Silverman, một hằng số vô hướng hoặc có thể gọi được. Nếu không có (mặc định), ‘Scott, được sử dụng. Xem sns.kdeplot(data = Cultivar_1['AGW'])
plt.xlim([30,70])
plt.xlabel("Grain weight (mg)", size=12)
plt.ylabel("Frequency", size=12)
plt.grid(True, alpha=0.3, linestyle="--")
plt.show()
0 để biết thêm thông tin. Điểm đánh giá cho PDF ước tính. Nếu không có (mặc định), 1000 điểm cách đều nhau được sử dụng. Nếu Ind là một mảng numpy, KDE được đánh giá tại các điểm được thông qua. Nếu Ind là một số nguyên, số lượng điểm cách đều nhau được sử dụng. Các đối số từ khóa bổ sung được ghi lại trong sns.kdeplot(data = Cultivar_1['AGW'])
plt.xlim([30,70])
plt.xlabel("Grain weight (mg)", size=12)
plt.ylabel("Frequency", size=12)
plt.grid(True, alpha=0.3, linestyle="--")
plt.show()
1. Xem thêm Đại diện cho ước tính mật độ hạt nhân bằng cách sử dụng hạt nhân Gaussian. Đây là chức năng được sử dụng nội bộ để ước tính PDF. Ví dụ Đưa ra một loạt các điểm được lấy mẫu ngẫu nhiên từ phân phối không xác định, ước tính PDF của nó bằng cách sử dụng KDE với xác định băng thông tự động và vẽ kết quả, đánh giá chúng ở 1000 điểm cách đều nhau (mặc định): >>> s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
>>> ax = s.plot.kde()
Một băng thông vô hướng có thể được chỉ định. Sử dụng giá trị băng thông nhỏ có thể dẫn đến quá mức, trong khi sử dụng giá trị băng thông lớn có thể dẫn đến việc phù hợp: >>> ax = s.plot.kde(bw_method=0.3)
>>> ax = s.plot.kde(bw_method=3)
Cuối cùng, tham số IND xác định các điểm đánh giá cho biểu đồ của PDF ước tính:
>>> ax = s.plot.kde(ind=[1, 2, 3, 4, 5])
Đối với DataFrame, nó hoạt động theo cùng một cách:
>>> df = pd.DataFrame({ ... 'x': [1, 2, 2.5, 3, 3.5, 4, 5], ... 'y': [4, 4, 4.5, 5, 5.5, 6, 6], ... }) >>> ax = df.plot.kde()
Một băng thông vô hướng có thể được chỉ định. Sử dụng giá trị băng thông nhỏ có thể dẫn đến quá mức, trong khi sử dụng giá trị băng thông lớn có thể dẫn đến việc phù hợp:
>>> ax = df.plot.kde(bw_method=0.3)
>>> ax = df.plot.kde(bw_method=3)
Cuối cùng, tham số IND xác định các điểm đánh giá cho biểu đồ của PDF ước tính:
>>> ax = df.plot.kde(ind=[1, 2, 3, 4, 5, 6])