Notez le script que je pensais toujours exécuter lors de l'analyse des données avec Python à l'avenir. Fonctionne sur Python2 avec Spark 2.0 dans l'environnement d'IBM Data Science Experience. (Cette fois, ce n'est pas forcément Spark du tout) Étant donné que le nombre de champs est assez important dans le travail d'analyse réel, j'ai essayé de penser à une méthode qui ne nécessite pas de coder le nom du champ (nom de la colonne) dans le script autant que possible afin qu'il puisse être analysé efficacement. Essayez l'expansion des colonnes et le marquage des données de catégorie, qui est une fonction équivalente à la «réorganisation des champs» de SPSS Modeler, qui est nécessaire pour la préparation des données de l'apprentissage automatique! Je n'ai pas essayé la valeur manquante liée cette fois, alors je vais saisir l'occasion suivante. (Les données ont déjà été saisies dans df_wiskey utilisé dans cet article)
#Tout d'abord, vérifiez le contenu du DataFrame
df_wiskey.head(10)
#Ensuite, vérifiez les attributs de la colonne (champ) (cette fois, procédez avec un w assez approprié)
df_wiskey.dtypes
#Statistiques de base des données numériques
df_wiskey.describe()
#Représenter graphiquement la distribution des données numériques
#Mettez matplotlib en mode inline
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
for x in df_wiskey.columns[df_wiskey.dtypes == 'float64']:
xdesc = df_wiskey[x].describe()
plt.hist(df_wiskey[x] , range=(xdesc['min'], xdesc['max']) )
plt.title( x )
plt.show()
#Donnees numeriques,Corrélation entre deux variables
df_wiskey.corr()
#Données autres que numériques
df_wiskey[df_wiskey.columns[df_wiskey.dtypes == 'object']].head(5)
#Fréquence d'apparition des données agrégées pour les données non numériques (supposée être une valeur de catégorie)
for x in df_wiskey.columns[df_wiskey.dtypes == 'object']:
valcal = df_wiskey[x].value_counts();
print '-- '+x+' -----------------------------------'
print valcal.head(10)
print '--------------------------------------------'
#Tableau croisé entre les données de catégorie--Simple mais l'affichage semble étrange
crosstab( df_wiskey.Country , df_wiskey.Category)
#Carte de chaleur par pays vs catégorie(Bourbon se concentre sur les USA, le Single Malt couvre la plupart des pays)
df_wiskey_pd = pivot_table( data=df_wiskey , columns='Country' , index='Category' , values='Name' , aggfunc='count')
plt.imshow(df_wiskey_pd , aspect= 'auto' ,interpolation='nearest')
plt.colorbar()
plt.xticks(range(df_wiskey_pd.shape[1]), df_wiskey_pd.columns , rotation='vertical')
plt.yticks(range(df_wiskey_pd.shape[0]), df_wiskey_pd.index)
plt.show()
#Fieldize les données de la colonne Pays pour l'entrée dans la technique de modélisation et T/Définir F
# (Le nom de la colonne est Pays_XXXXXXXX)
for x in df_wiskey.groupby('Country').count().index :
x1 = 'Country_' + x
df_wiskey[x1] = 'F'
#Si le pays défini dans la colonne Pays est xxxxx, alors Pays_Changer en T pour XXXXXXXXX
df_wiskey.loc[df_wiskey[x1][df_wiskey.Country == x].index , x1] = 'T'
#Afficher uniquement les 3 premières lignes
df_wiskey.head(3)
Les blocs-notes Data Scientist Experience peuvent être assez faciles à utiliser: sourire: <Capture d'écran>
Recommended Posts