【发布时间】:2019-09-24 16:40:39
【问题描述】:
这是我之前几个问题的后续。这是我正在玩的代码:
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
import numpy as np
dictOne = {'Name':['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth'],
"A":[1, 2, -3, 4, 5, np.nan, 7, np.nan, 9],
"B":[4, 5, 6, 5, 3, np.nan, 2, 9, 5],
"C":[7, np.nan, 10, 5, 8, 6, 8, 2, 4]}
df2 = pd.DataFrame(dictOne)
column = 'B'
df2[df2[column] > -999].hist(column, alpha = 0.5)
param = stats.norm.fit(df2[column].dropna()) # Fit a normal distribution to the data
print(param)
pdf_fitted = stats.norm.pdf(df2[column], *param)
plt.plot(pdf_fitted, color = 'r')
我正在尝试在数据框中的单列中制作数字的直方图——我可以这样做——但是使用重叠的正态曲线...类似于here 上的最后一张图。我正试图让它在这个玩具示例上工作,以便我可以将它应用到我更大的数据集上。我上面粘贴的代码给了我这个图表:
为什么pdf_fitted 与此图中的数据不匹配?如何覆盖正确的 PDF?
【问题讨论】:
-
你看过
distplot中的seaborn吗?
标签: python pandas scipy histogram curve-fitting