如何为以下数据框绘制饼图
How do I plot a piechart for the following data frame
如何为以下数据框绘制 piechart
?
身份证平台
1 维
2 Netflix
3 Netflix
4 亚马逊 Prime
5 热星
我有一个 dataframe
,如上所示,我想找出流媒体播放量最大的平台,并制作一个饼图和百分比。我可以知道该怎么做吗?我有大约 400 行。那只是一个样本。 python 中的代码
我为此编写代码以查看其工作原理,效率不高。
import matplotlib.pyplot as plt
data = '''
ID Platform
1 Viu
2 Netflix
3 Netflix
4 Amazon Prime
5 Hotstar
'''
data = data.splitlines()
for i in data:
if i == '':
data.remove(i)
dic = {}
total = 0
for i in range(1, len(a)):
dic[data[i][2:]] = int(data[i][0])
total += int(data[i][0])
precent = []
for i in dic:
precent.append((dic[i] / total) * 100)
labels = [i for i in dic]
sizes = precent
explode = (0, 0.1, 0, 0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.axis('equal')
plt.show()
如何为以下数据框绘制 piechart
?
身份证平台
1 维
2 Netflix
3 Netflix
4 亚马逊 Prime
5 热星
我有一个 dataframe
,如上所示,我想找出流媒体播放量最大的平台,并制作一个饼图和百分比。我可以知道该怎么做吗?我有大约 400 行。那只是一个样本。 python 中的代码
我为此编写代码以查看其工作原理,效率不高。
import matplotlib.pyplot as plt
data = '''
ID Platform
1 Viu
2 Netflix
3 Netflix
4 Amazon Prime
5 Hotstar
'''
data = data.splitlines()
for i in data:
if i == '':
data.remove(i)
dic = {}
total = 0
for i in range(1, len(a)):
dic[data[i][2:]] = int(data[i][0])
total += int(data[i][0])
precent = []
for i in dic:
precent.append((dic[i] / total) * 100)
labels = [i for i in dic]
sizes = precent
explode = (0, 0.1, 0, 0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.axis('equal')
plt.show()