PHP前端开发

如何在单个数据帧内进行vlookup?

百变鹏仔 1天前 #Python
文章标签 数据
问题内容

来自以下数据框(df):

|------------+--------------------+-------------|| child_code | child_name         | parent_code ||------------+--------------------+-------------||        900 | world              |           0 ||        920 | south-eastern asia |         900 ||        702 | singapore          |         920 ||------------+--------------------+-------------|

我想生成这个数据框:

|------------+--------------------+-------------+--------------------|| 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?

正确答案


您可以使用series.map:

import pandas as pdimport numpy as npdata = {'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_name0               World         900            0                 NaN1  South-Eastern Asia         920          900               World2           Singapore         702          920  South-Eastern Asia