我需要从数据框的一列绘制频率的饼图,但是会出现很多较低的频率,并且可视化效果很差。
我写的代码是:
df[column].value_counts(normalize=True).plot(kind="pie")
我知道df[column].value_counts(normalize=True)
会给我每个唯一值的百分比,但是我想应用过滤器percentage>0.05
我尝试了什么?:
new_df = df[column].value_counts(normalize=True)
但这给了我column
作为索引,所以我重置了索引
new_df = new_df.reset_index()
然后尝试
new_df.plot(kind = "pie")
但什么也没出现。
我想要一些1行代码,可以使代码类似:
df[column].value_counts(normalize=True).plot(kind="pie" if value_counts > 0.05)
答案 0 :(得分:1)
尝试一下:
df['column'].value_counts()[df['column'].value_counts(normalize=True)>0.05].plot(kind='pie')