Comment effectuer une recherche virtuelle dans une seule trame de données ?

王林
Libérer: 2024-02-09 11:21:16
avant
1116 Les gens l'ont consulté

Comment effectuer une recherche virtuelle dans une seule trame de données ?

Le contenu de la question

provient du bloc de données suivant (df) :

|------------+--------------------+-------------|
| child_code | child_name         | parent_code |
|------------+--------------------+-------------|
|        900 | world              |           0 |
|        920 | south-eastern asia |         900 |
|        702 | singapore          |         920 |
|------------+--------------------+-------------|
Copier après la connexion

Je souhaite générer ce bloc de données :

|------------+--------------------+-------------+--------------------|
| child_code | child_name         | parent_code | parent_name        |
|------------+--------------------+-------------+--------------------|
|        900 | World              |           0 |                    |
|        920 | South-Eastern Asia |         900 | World              |
|        702 | Singapore          |         920 | South-Eastern Asia |
|------------+--------------------+-------------+--------------------|```
How could I make the equivalent of an MS Excel `vlookup` to produce the `parent_name` column?
Copier après la connexion


Bonne réponse


Vous pouvez utiliser series.map :

import pandas as pd
import numpy as np

data = {'child_name': {0: 'World', 1: 'South-Eastern Asia', 2: 'Singapore'}, 
        'child_code': {0: 900, 1: 920, 2: 702}, 
        'parent_code': {0: 0, 1: 900, 2: 920}}
df = pd.DataFrame(data)

df['parent_name'] = df['parent_code'].map(df.set_index('child_code')['child_name'])

df

           child_name  child_code  parent_code         parent_name
0               World         900            0                 NaN
1  South-Eastern Asia         920          900               World
2           Singapore         702          920  South-Eastern Asia
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal