


Construction de DataFrames Pandas à partir d'éléments de dictionnaire imbriqués
Étant donné un dictionnaire imbriqué avec une structure comportant un UserId comme niveau supérieur, des catégories comme deuxième niveau, et divers attributs comme troisième niveau, le but est de créer un DataFrame pandas avec un index hiérarchique. Chaque UserID doit apparaître comme une valeur d'index, tandis que les valeurs de catégorie et d'attribut forment les noms de colonnes.
Les tentatives conventionnelles de construction d'un DataFrame à partir d'un tel dictionnaire peuvent entraîner une affectation incorrecte d'index et de colonnes. Pour résoudre ce problème, envisagez les approches suivantes :
1. Remodeler le dictionnaire :
Une solution consiste à remodeler le dictionnaire dans un format où les clés sont des tuples représentant le MultiIndex souhaité. Cela permet l'utilisation de pd.DataFrame.from_dict avec orient='index':
user_dict = { 12: {'Category 1': {'att_1': 1, 'att_2': 'whatever'}, 'Category 2': {'att_1': 23, 'att_2': 'another'}}, 15: {'Category 1': {'att_1': 10, 'att_2': 'foo'}, 'Category 2': {'att_1': 30, 'att_2': 'bar'}} } df = pd.DataFrame.from_dict({(i,j): user_dict[i][j] for i in user_dict.keys() for j in user_dict[i].keys()}, orient='index')
2. Concaténation de DataFrames :
Alternativement, on peut construire le DataFrame en construisant des dataframes individuels pour chaque catégorie et utilisateur, puis en les concaténant :
user_ids = [] frames = [] for user_id, d in user_dict.iteritems(): user_ids.append(user_id) frames.append(pd.DataFrame.from_dict(d, orient='index')) df = pd.concat(frames, keys=user_ids)
Les deux approches produisent un DataFrame avec le souhaité index hiérarchique et structure des colonnes :
att_1 att_2 12 Category 1 1 whatever Category 2 23 another 15 Category 1 10 foo Category 2 30 bar
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Les raisons pour lesquelles les scripts Python ne peuvent pas fonctionner sur les systèmes UNIX incluent: 1) des autorisations insuffisantes, en utilisant Chmod xyour_script.py pour accorder des autorisations d'exécution; 2) Ligne Shebang incorrecte ou manquante, vous devez utiliser #! / Usr / bin / enwpython; 3) Paramètres de variables d'environnement incorrectes, vous pouvez imprimer OS.environ Debogging; 4) En utilisant la mauvaise version Python, vous pouvez spécifier la version sur la ligne Shebang ou la ligne de commande; 5) Problèmes de dépendance, en utilisant un environnement virtuel pour isoler les dépendances; 6) Erreurs de syntaxe, utilisez python-mpy_compileyour_script.py pour détecter.

L'utilisation de tableaux Python est plus adapté au traitement de grandes quantités de données numériques que les listes. 1) Les tableaux économisent plus de mémoire, 2) les tableaux sont plus rapides pour fonctionner par des valeurs numériques, 3) la cohérence de type de force des tableaux, 4) Les tableaux sont compatibles avec les tableaux C, mais ne sont pas aussi flexibles et pratiques que les listes.

Listes sont une meilleure ancêtres et des datatatates de mix

NumpyManagesMemoryForLargeArraySEfficientlyUsingViews, Copies andMemory-MapyPiles.1) Vues Allowcing withoutcopy

ListSinpythondonoTequireImporttingAmodule, tandis que les listes de la part de la variation de la daymoduleeeedanimport.1)

PythonlistScanstoreanyDatatype, ArrayModulearRaySstoreOneType, et NumpyArraysArnumericalComptations.1) ListesaSaSatilebutlessmemory-Efficient.2) NumpyArraySareMory-EfficientForHomoGeneousData.3)

Lorsque vous vous assumez de la valeur de la valeur de la datyypie de la datyylethonarray.

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
