Python 基于列中的组绘制分布图

Python 基于列中的组绘制分布图,python,pandas,dataframe,seaborn,Python,Pandas,Dataframe,Seaborn,我想在“位置”列下绘制各组的分布图——位置下A、B和C的var1图。当我尝试下面的代码时,它给出了一个分布图。我想为每个小组分别绘制图。如有任何建议,将不胜感激 数据帧(文件.csv): 代码: 您可以在for循环中创建轴实例,并将其传递到distplot。此外,使用groupby更快: for location, data in df.groupby('location'): fig, ax = plt.subplots() sns.kdeplot(data['var1'],

我想在“位置”列下绘制各组的分布图——位置下A、B和C的var1图。当我尝试下面的代码时,它给出了一个分布图。我想为每个小组分别绘制图。如有任何建议,将不胜感激

数据帧(文件.csv):

代码:


您可以在for循环中创建轴实例,并将其传递到
distplot
。此外,使用
groupby
更快:

for location, data in df.groupby('location'):
    fig, ax = plt.subplots()
    sns.kdeplot(data['var1'], ax=ax, label=location)
import pandas as pd
import seaborn as sns
import matplotlib as plt

dataframe = pd.read_csv('file.csv')
for level in dataframe['location'].unique():
    dataframe = dataframe[dataframe['location']==level]
    x = 'var1'
    sns.distplot(dataframe[x], kde=True, rug=True)
for location, data in df.groupby('location'):
    fig, ax = plt.subplots()
    sns.kdeplot(data['var1'], ax=ax, label=location)