Les Pandas scatter_matrix - parcelle de variables catégorielles
Je suis en train de regarder la célèbre Titanic jeu de données de la Kaggle concurrence trouvé ici: http://www.kaggle.com/c/titanic-gettingStarted/data
J'ai chargé et traitées les données à l'aide de:
# import required libraries
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# load the data from the file
df = pd.read_csv('./data/train.csv')
# import the scatter_matrix functionality
from pandas.tools.plotting import scatter_matrix
# define colors list, to be used to plot survived either red (=0) or green (=1)
colors=['red','green']
# make a scatter plot
scatter_matrix(df,figsize=[20,20],marker='x',c=df.Survived.apply(lambda x:colors[x]))
df.info()
Comment puis-je ajouter de la catégorique colonnes aiment le Sexe et se sont Lancés à l'intrigue?
- Un nuage de points n'est pas un bon choix pour les variables catégorielles, de sorte qu'il n'aurait pas vraiment de sens à "ajouter" de ces variables à cet éparpillement de la matrice. Vous pourriez faire un autre ensemble de parcelles portant sur ces variables (par exemple, boxplots de chaque variable numérique groupés selon les catégories).
- BrenBarn - merci.... Je ne suis pas entièrement d'accord avec vous... lorsque les facteurs sont limitées (comme le sexe: mâle, femelle, inconnu). Je trouve ça très insightfull à l'approche de ceux-ci comme des entiers tels que le 1,2 et 3 et les repérer dans un nuage de points. Si je me souviens bien par cœur, R traite ses facteurs dans un dataframe comme cela lors de la représentation d'un scattermatrix. Espérais pourrait faire de même avec les pandas.
- je pense que vous aurez envie de chercher à seaborn de facetgrids et pairgrids pour ce type de tracé: web.stanford.edu/~mwaskom/logiciel/seaborn/exemples/...
- Notez que pour les pandas version >de 0,19, le
from pandas.tools.plotting import scatter_matrix
devrait être remplacé parfrom pandas.plotting import scatter_matrix
(cf de référence de la réponse )
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour transformer les variables catégorielles dans les numéros de parcelle eux.
Exemple (en supposant que la colonne 'Sexe' est tenue les données sur le sexe, avec " M " pour les hommes & 'F' pour les femmes)
Maintenant, toutes les femmes sont représentées par 0 & les mâles de 1. Inconnu des genres (si il y en a) seront ignorés.
Le reste de votre code doit traiter la mise à jour du dataframe bien.
après googler et de se souvenir de quelque chose comme l' .map() fonction que j'ai résolu de la manière suivante:
maintenant, je peux tracer de nouveau...et déposez les colonnes ajoutées par la suite.
merci à tous pour votre réponse.....