我试图用CSV文件中的列值创建一个饼图,但我似乎没有按照正确的方法进行。我正在使用一个CSV文件(student_grades.csv),我想用csv文件中'Result‘列的数据创建一个饼图。该列中带有“1”的行表示“通过”,而该列中带有“0s”的行表示“不及格”。我正在尝试为通过和失败的结果创建一个饼图。以下是我到目前为止所做的工作,我将非常感谢并请给予建议。
import matplotlib.pyplot as plt
import pandas as pd
doc = pd.read_csv('student_grades.csv')
pass_fail_result = doc['Result']
pass_result = []
fail_result = []
plt.pie(str(pass_fail_result))
plt.show()```
This is the csv file that I am using.
```Name,Gender,Attendance,Department,ResultGabby Smith,女,是的,工程学,1
丹·琼斯,男,是的,工程学,1
Benard Clark,男,是的,工程学,0
Lizzy Ringgs,女性,是的,工程学,1
Derick H. Leo,男,是的,工程学,0
Matt Dickson,男,是的,工程学,1
劳拉·威廉姆森,女,是的,工程学,1岁
弗兰克·A·米特,男,是的,工程学,0
艾哈迈德·侯赛尼,男,是的,工程学,1岁
克莱尔·格雷格,女,是的,工程学,1岁
Flora Richards,女,是的,工程学,0
安迪·罗伊,男,是的,工程学,0
理查德·琼斯,男,是的,工程学,1
哈里·本,男,是的,工程学,1
克劳迪娅·格林,女,是的,工程学,0
Hamza Yusuf,男,是的,工程学,1
Ella Leonard,女,是的,工程学,0
Patrick Silva,男,是的,工程学,1
发布于 2019-09-16 09:16:56
这将在饼图中绘制# of 1和# of 0:
plt.pie(doc['Result'].value_counts())要获取%:
plt.pie(100*df['Result'].value_counts()/len(df))发布于 2019-09-16 05:50:26
import sys, csv
def doSomething(filePath):
try:
with open(filePath, mode='r') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',')
for row in csvreader:
if (row[2] is "SOMETHING"): # row[2] it's the cvs position
else: # DO SOMETHING ELSE
except FileNotFoundError:
print("[ERROR] Cannot open the file: ", filePath)https://stackoverflow.com/questions/57948295
复制相似问题