Tôi tạo dữ liệu hư cấu về số lượng sinh viên tốt nghiệp đại học trong nhiều năm sau khi có cùng ngày bắt đầu
Tôi gán biến
sns.set_style["darkgrid"] sns.set_context["talk"]0 là tổng số sinh viên bắt đầu học đại học cùng một lúc, nhưng không phải tất cả những sinh viên này đều tốt nghiệp
Trong [70]
count_students_at_class_start = 6080 graduation_data = {'years_after_starting_college': [2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7], 'count_students_graduated': [5, 50, 150, 3380, 760, 340, 115, 80, 40, 10]} df = pd.DataFrame[data=graduation_data]
Xem trước dữ liệu trong
sns.set_style["darkgrid"] sns.set_context["talk"]1
Trong [71]
df.head[]
Hết[71]
year_after_starting_collegecount_students_graded02. 5513. 05023. 515034. 0338044. 5760
Ban đầu, chúng ta có thể vẽ dữ liệu này dưới dạng biểu đồ thanh cho số lượng sinh viên tốt nghiệp trong mỗi khoảng thời gian nửa năm
Trong [72]
df.plot[kind='bar', x='years_after_starting_college', y='count_students_graduated', figsize=[10, 8], legend=False, color='powderblue', rot=0]; plt.title["Count of Students Who Graduated in $X$ Years", y=1.01, fontsize=20] plt.ylabel["count of students graduated", labelpad=15] plt.xlabel["years after starting college", labelpad=15];
Tôi thấy hình dung này hơi khó hiểu. Với mỗi thanh, thật khó để hiểu ý nghĩa. Vì vậy, gần 3.000 sinh viên đã tốt nghiệp trong 4 năm. điều đó có tốt không?
Tôi có thể trả lời những câu hỏi này bằng biểu đồ tần suất tích lũy. Tôi phải cộng dồn tổng số học sinh đã tốt nghiệp - một thuật ngữ thường được gọi là tổng số đang chạy
Trong gấu trúc, có một phương thức
sns.set_style["darkgrid"] sns.set_context["talk"]2 trả về tổng tích lũy trên một cột. Tôi sẽ áp dụng điều đó cho cột
sns.set_style["darkgrid"] sns.set_context["talk"]3
Trong [73]
df['count_students_graduated_running_total'] = df['count_students_graduated'].cumsum[]
Xem cột
sns.set_style["darkgrid"] sns.set_context["talk"]4 mới của chúng tôi
Trong [74]
df
Hết[74]
year_after_starting_collegecount_students_gradientcount_students_gradient_running_total02. 55513. 0505523. 515020534. 03380358544. 5760434555. 0340468565. 5115480076. 080488086. 540492097. 0104930
Tôi muốn vẽ cột mới này dưới dạng biểu đồ đường theo thời gian. Đây là biểu đồ tích lũy
Trong [75]
count_students_at_class_start = 6080 graduation_data = {'years_after_starting_college': [2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7], 'count_students_graduated': [5, 50, 150, 3380, 760, 340, 115, 80, 40, 10]} df = pd.DataFrame[data=graduation_data]0
Một hình ảnh trực quan hữu ích khác sẽ là biểu đồ phần trăm tích lũy. Để có được điều này, đối với mỗi giá trị trong cột
sns.set_style["darkgrid"] sns.set_context["talk"]4, tôi cần tính xem giá trị đó là bao nhiêu phần trăm của
sns.set_style["darkgrid"] sns.set_context["talk"]0. Tôi có thể thực hiện phép tính này trong pandas
Trong [76]
count_students_at_class_start = 6080 graduation_data = {'years_after_starting_college': [2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7], 'count_students_graduated': [5, 50, 150, 3380, 760, 340, 115, 80, 40, 10]} df = pd.DataFrame[data=graduation_data]3
Hình ảnh dưới đây cho thấy
sns.set_style["darkgrid"] sns.set_context["talk"]7 trong những năm qua. Rõ ràng 4 năm gần 60% sinh viên ra trường