我试图用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,Result
Gabby 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
复制相似问题