[PYTHON] Organisez les données d'achat individuelles dans un tableau avec le MultiLabel Binarizer de scikit-learn

La source de données

https://drive.google.com/file/d/1y5DYn0dGoSbC22xowBq2d4po6h1JxcTQ/view?usp=sharing

Données d'achat individuelles (avant conversion)

スクリーンショット 2019-12-31 00.13.48.png

Chaque ligne représente l'ID utilisateur et chaque colonne représente l'article acheté par l'utilisateur. Le nombre de colonnes correspond au nombre d'achats de l'utilisateur avec les articles les plus achetés. Par conséquent, NaN est entré dans l'espace.

Table que vous souhaitez créer (après conversion)

スクリーンショット 2019-12-31 00.18.26.png

Épinglez chaque colonne à un article spécifique et indiquez si chaque utilisateur l'a acheté par 1/0

Comment faire

Utilisez MultiLabel Binarizer de scikit-learn. Soit df la trame de données avant la conversion. La sortie après conversion est df_trans.

from sklearn.preprocessing import MultiLabelBinarizer

df = df.fillna("none")

mlb = MultiLabelBinarizer()
result = mlb.fit_transform(df.values)
df_trans = pd.DataFrame(result, columns = mlb.classes_).drop('none', axis=1)

Si NaN est inclus dans la trame de données, une erreur se produira dans MultiLabel Binarizer, donc convertissez-le en une chaîne de caractères appropriée (il n'est pas nécessaire qu'elle soit aucune si elle n'est pas dupliquée).

Créez un objet MultiLabelBinarizer et appelez la méthode fit_transform. Spécifiez df.values dans l'argument au format numpy.array.

Le nom de la colonne (nom de l'élément) peut être récupéré avec mlb.classes_.

Enfin, n'en supprimez aucun avec la méthode drop pour obtenir la table convertie.

Recommended Posts

Organisez les données d'achat individuelles dans un tableau avec le MultiLabel Binarizer de scikit-learn
Supprimer des données dans un modèle avec Redis Cluster
Lire les données de la table dans un fichier PDF avec Python
Entraînez les données MNIST avec PyTorch en utilisant un réseau neuronal
Ingéniosité pour gérer les données avec Pandas de manière à économiser la mémoire
Incontournable pour les responsables de l'informatique des matériaux! Visualisez les données composées avec une carte thermique de tableau périodique.
<Pandas> Comment gérer les données de séries chronologiques dans le tableau croisé dynamique
Générer de fausses données de table avec GAN
SE, débutant en analyse de données, apprend avec l'équipe de science des données vol.1