0
假设我有一列作为性别包含像值的数据帧 -可视化数据
male
female
female
empty
male
female
在条形图或饼图到的形式使用matplotlib如何可视化这个数据显示男性和女性的数量/比例?
假设我有一列作为性别包含像值的数据帧 -可视化数据
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()
我同意,这个问题可以被看作是质量不好,因此被downvoted;但是,我不明白为什么人们想要关闭这个问题。它不是太广泛(因为答案基本上是一个单一的代码行),也不是脱离主题(因为一旦你知道使用哪个命令,答案只是微不足道的)。 – ImportanceOfBeingErnest