Как создать несколько стратифицированных участков на основе одного столбца - PullRequest
0 голосов
/ 24 января 2020

Я использую python, чтобы попытаться выполнить итерации по столбцам pandas кадра данных и нанести на график их данные, расслаивая каждый из столбцов в соответствии с оценкой респондента. вот мой код:

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

def visualize():
    q = 0
    surveyData = pd.read_csv("Survey_1.csv")
    for (columnName, q) in enumerate(surveyData.iteritems()):  
        q += 1
        if(q > 2):
            plt.figure()
            ax = sns.barplot(x="grade", y=columnName, data=surveyData)
            plt.savefig(columnName) 

и вот ошибка, которую я получаю:

TypeError: '('grade', 0        Junior
1        Junior
2        Senior
3     Sophomore
4     Sophomore
5        Senior
6        Senior
7        Senior
8        Senior
9        Senior
10       Senior
11       Junior
12       Senior
13    Sophomore
14       Junior
15    Sophomore
16    Sophomore
17    Sophomore
18    Sophomore
19       Junior
20    Sophomore
21    Sophomore
22       Junior
23       Junior
24    Sophomore
25    Sophomore
26       Junior
27       Junior
Name: grade, dtype: object)' is an invalid key

"оценка" - это правильное имя столбца, который я пытаюсь разделить на основе и он работает как вход, когда я не пытаюсь перебрать все остальные столбцы, но не, когда я перебираю. Интересно, есть ли у кого-нибудь совет. Спасибо!

1 Ответ

0 голосов
/ 24 января 2020

Я не уверен, что получу то, что вы хотите построить, но если это счет каждой оценки, вы должны попробовать:

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

def visualize():
    df_count=pd.DataFrame()
    surveyData = pd.read_csv("Survey_1.csv")   
    df_count=surveyData.groupby('grade').count()
    ax=sns.barplot(x="grade", y="count", data=df_count)
    ax.savefig("gradecount.png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...