Как можно обобщить следующие коды для построения графиков? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть df, который имеет 5 категориальных значений, и я делаю следующее подсчет количества значений и затем строю их график:

data['yr'].value_counts()
sns.countplot(x = 'yr', data = data)

data['season'].value_counts()
sns.countplot(x = 'season', data = data)

data['holiday'].value_counts()
sns.countplot(x = 'holiday', data = data)

data['workingday'].value_counts()
sns.countplot(x = 'workingday', data = data)

data['weathersit'].value_counts()
sns.countplot(x = 'weathersit', data = data)

В этом случае есть только 5 столбцов, поэтому этот методне был громоздким.Но если таких функций много, то писать так будет очень громоздко.Итак, я хотел бы знать, как я могу изменить приведенный выше код, чтобы сделать его более эффективным?

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Учитывая, что вы загрузили свой фрейм данных с помощью панд, вы можете использовать этот фрагмент кода, который также даст вам список всех имен столбцов в вашем

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


data = pd.read_csv('cars.csv' , ';')

# Gets you the list of all columns in your dataframe.
columns = list(data.columns.values.tolist())
print(columns)


for column in columns:
    data[column].value_counts()
    sns.countplot(x = column, data = data)
    plt.show()
    plt.close()
1 голос
/ 21 мая 2019

Вы можете попробовать вот так:

columns = ["yr","season","holiday","workingday","weathersit"]

for column in columns:
    data[column].value_counts()
    sns.countplot(x = column, data = data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...