在饼图中分组小值
Group small values in a pie chart
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df= pd.DataFrame([["potatoes",20],["carots",39], ["tomatos",40], ["apples",2], ["bananas",2]] , columns = ["aliments","number"])
我想制作一个饼图,其中我将 apples 和 bananas 分组在一个名为 vegetables[= 的切片中16=].
我选择了一个任意的分界点 20。你可以取任何你想要的分界点。这会用蔬菜覆盖苹果和香蕉的值。然后使用 groupby 对它们进行总结。之后你就可以使用你的常规饼图代码了。
df= pd.DataFrame([["potatoes",20],["carots",39], ["tomatos",40], ["apples",2], ["bananas",2]] , columns = ["aliments","number"])
df_draw = df.copy()
df_draw.loc[df_draw['number'] < 20, 'aliments'] = 'vegetables'
df_draw = df_draw.groupby('aliments')['number'].sum().reset_index()
plt.pie(df_draw['number'], labels=df_draw['aliments'], autopct='%.0f%%');
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df= pd.DataFrame([["potatoes",20],["carots",39], ["tomatos",40], ["apples",2], ["bananas",2]] , columns = ["aliments","number"])
我想制作一个饼图,其中我将 apples 和 bananas 分组在一个名为 vegetables[= 的切片中16=].
我选择了一个任意的分界点 20。你可以取任何你想要的分界点。这会用蔬菜覆盖苹果和香蕉的值。然后使用 groupby 对它们进行总结。之后你就可以使用你的常规饼图代码了。
df= pd.DataFrame([["potatoes",20],["carots",39], ["tomatos",40], ["apples",2], ["bananas",2]] , columns = ["aliments","number"])
df_draw = df.copy()
df_draw.loc[df_draw['number'] < 20, 'aliments'] = 'vegetables'
df_draw = df_draw.groupby('aliments')['number'].sum().reset_index()
plt.pie(df_draw['number'], labels=df_draw['aliments'], autopct='%.0f%%');