В настоящее время я работаю с большим набором данных и пытаюсь создать гистограмму для каждого из 13 столбцов с нанесенной на график функцией плотности вероятности.
Ниже приведен код, с которым я пытался:
for i, col in enumerate(df.columns):
plt.figure(i)
plt.hist(df[col], density=True, bins='auto')
mn, mx = plt.xlim()
plt.xlim(mn, mx)
kde_xs = np.linspace(mn, mx, 301)
kde = st.gaussian_kde(df[col], bw_method=0.06)
plt.plot(kde_xs, kde.pdf(kde_xs), label="PDF")
plt.legend(loc="upper left")
plt.ylabel('Density')
plt.show()
Код внутри для l oop работает при применении к отдельным столбцам, но при размещении в l oop, как указано выше, выдает следующую ошибку:
Traceback (most recent call last):
File "C:/Users/Adam-User/PycharmProjects/FinalYearProject/Final/5.1 Histogram.py", line 47, in <module>
kde = st.gaussian_kde(df[col], bw_method=0.06)
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\scipy\stats\kde.py", line 209, in __init__
self.set_bandwidth(bw_method=bw_method)
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\scipy\stats\kde.py", line 565, in set_bandwidth
self._compute_covariance()
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\scipy\stats\kde.py", line 576, in _compute_covariance
aweights=self.weights))
File "<__array_function__ internals>", line 6, in cov
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\numpy\lib\function_base.py", line 2431, in cov
avg, w_sum = average(X, axis=1, weights=w, returned=True)
File "<__array_function__ internals>", line 6, in average
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\numpy\lib\function_base.py", line 417, in average
scl = wgt.sum(axis=axis, dtype=result_dtype)
File "C:\Users\Adam-User\PycharmProjects\FinalYearProject\venv\lib\site-packages\numpy\core\_methods.py", line 38, in _sum
return umr_sum(a, axis, dtype, out, keepdims, initial, where)
TypeError: No loop matching the specified signature and casting was found for ufunc add
Любые идеи, как Я мог бы это исправить?
Спасибо за помощь заранее!