Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
假设我有一个数据框,其中一栏为“性别”,其中包含-
如何使用matplotlib以条形图或饼图的形式可视化此数据,以显示男性和女性的数量/百分比?
![python - 可视化来自一列的数据-LMLPHP python - 可视化来自一列的数据-LMLPHP]()
同样有可能绘制饼图,
![python - 可视化来自一列的数据-LMLPHP python - 可视化来自一列的数据-LMLPHP]()
允许进行更精细调整的另一个选项是使用matplotlib,如下所示:
![python - 可视化来自一列的数据-LMLPHP python - 可视化来自一列的数据-LMLPHP]()
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
假设我有一个数据框,其中一栏为“性别”,其中包含-
male
female
female
empty
male
female
如何使用matplotlib以条形图或饼图的形式可视化此数据,以显示男性和女性的数量/百分比?
最佳答案
最简单的选择可能是在列上使用value_count
并将结果绘制为条形图。
import pandas as pd
import matplotlib.pyplot as plt
a = ["male","female", "female", "empty","male","female"]
df = pd.DataFrame(a, columns= ["gender"])
df["gender"].value_counts().plot.bar()
plt.show()
同样有可能绘制饼图,
df["gender"].value_counts().plot.pie()
plt.gca().set_aspect("equal")
允许进行更精细调整的另一个选项是使用matplotlib,如下所示:
import pandas as pd
import matplotlib.pyplot as plt
a = ["male","female", "female", "empty","male","female"]
df = pd.DataFrame(a, columns= ["gender"])
labels = []
for i, dfi in enumerate(df.groupby(["gender"])):
labels.append(dfi[0])
plt.bar(i, dfi[1].count(), label=dfi[0])
plt.xticks(range(len(labels)), labels)
plt.legend()
plt.show()