Python 如何使用条件绘制图形

Python 如何使用条件绘制图形,python,pandas,data-science,Python,Pandas,Data Science,我想在不操纵数据帧的情况下,以特定条件绘制图形 plt.figure(figsize=(10,50)) plt.ylim(100,500) sns.countplot(data=df, x='brand') 例如,我用一个数据框创建了一个countplot,它有一堆小于100的x值,在countplot中,小于100的值显示为“无条”,它占用了空间。所以我只想去掉那些空的(计数操作数据,我认为这不太直观,可能会使代码不那么可读。传统上,人们似乎在做操作数据->可视化数据l数据,遵守广泛流行的惯

我想在不操纵数据帧的情况下,以特定条件绘制图形

plt.figure(figsize=(10,50))
plt.ylim(100,500)
sns.countplot(data=df, x='brand')
例如,我用一个数据框创建了一个countplot,它有一堆小于100的x值,在countplot中,小于100的值显示为“无条”,它占用了空间。所以我只想去掉那些空的(计数<100)

我试图创建另一个仅计数值大于100的数据帧,但我想知道是否有更简单/更干净的方法来绘制图形,而不是创建整个数据帧

plt.figure(figsize=(10,50))
plt.ylim(100,500)
sns.countplot(data=df, x='brand')

从这段代码中,我看到许多空条是由小于100的计数值引起的,因为xlim被设置为100-500。

您可以旋转数据帧,过滤掉那些
<100
并使用
matplotlib
绘图。您可以在
seaborn
绘图命令中直接选择/操作/etc.到数据帧:例如,
sns.countplot(数据=df.loc[…],…)
我认为最干净的方法是在可视化代码之前处理所有数据操作。操作数据->可视化数据。这是干净的。你试图做可视化数据->操作数据,我认为这不太直观,可能会使代码不那么可读。传统上,人们似乎在做操作数据->可视化数据l数据,遵守广泛流行的惯例有很多价值。因此,我建议按品牌对数据进行分组,按每个品牌计算行数,然后从中过滤数据帧。然后使用条形图而不是countplot。您可以旋转数据帧,过滤掉那些
<100
,然后使用
matplotlib
进行打印。您可以可以直接在
seaborn
plotting命令中选择/操作数据帧:例如,
sns.countplot(data=df.loc[…],…)
我认为最干净的方法是在可视化代码之前处理所有数据操作。操作数据->可视化数据。这是干净的。你试图做可视化数据->操作数据,我认为这不太直观,可能会使代码不那么可读。传统上,人们似乎在做操作数据->可视化数据l数据,坚持广泛流行的惯例有很大的价值。因此,我建议按品牌对数据进行分组,按每个品牌计算行数,然后从中筛选数据帧。然后使用条形图而不是countplot。@l.F.我不想添加解释。如果我的答案不符合您的标准,请发布您自己的答案@L.F.我不想添加解释。如果我的答案不符合您的标准,请发布您自己的答案。
import matplotlib.pyplot as plt
import seaborn as sns

plot_data = df.groupby('brand').size().reset_index(name='count').query('count>=100')
plt.figure(figsize=(10,50))
plt.ylim(100,500)
sns.barplot(data=plot_data, x='brand', y='count')