Python 如何创建概率密度图?

Python 如何创建概率密度图?,python,pandas,matplotlib,seaborn,Python,Pandas,Matplotlib,Seaborn,我有以下数据框数据(在我的真实数据集中,我有更多的数据): 为了查看time_diff值的分布,我创建了以下条形图: import seaborn as sns data['timegroup'] = pd.qcut(data['time_diff'], 150) sns.barplot(x='timegroup', y='avg_trips_per_day', data=data, estimator=sum) 它为每个bin(timegroup)获取avg\u trips\u per\u

我有以下数据框
数据
(在我的真实数据集中,我有更多的数据):

为了查看
time_diff
值的分布,我创建了以下条形图:

import seaborn as sns
data['timegroup'] = pd.qcut(data['time_diff'], 150)
sns.barplot(x='timegroup', y='avg_trips_per_day', data=data, estimator=sum)
它为每个bin(
timegroup
)获取
avg\u trips\u per\u day
的值,并计算
avg\u trips\u per\u day
的总和

我的结果如下:

因此,对于我的数据来说,这确实不是最好的可视化。我认为概率密度图更适合。在X轴中,我希望看到
avg_trips_per_day
的值,而Y轴应该包含概率。
我该怎么做呢?

您可以使用distplot
sns.distplot(data['avg\u trips\u per\u day'])
默认情况下,它会绘制一个直方图和一个内核密度估计器,但您可以通过
kde=False
histogram=False
对其进行调整,在您的数据框中没有
timegroup
列。你可能错过了几行code@ClockSlave:抱歉,忘记添加一行代码。请查看我的更新。@ayhan:谢谢,这似乎起到了作用。@ayhan:如果我使用
data[“time_diff”].unique()
,我会在实际数据集中看到最小值等于200。但是
distplot
X轴包含其他值。比如0.0,0.1。你知道为什么会这样吗?另外,我确实需要一个
显示
时间差
,而不是
每天平均行程
import seaborn as sns
data['timegroup'] = pd.qcut(data['time_diff'], 150)
sns.barplot(x='timegroup', y='avg_trips_per_day', data=data, estimator=sum)