小编use*_*048的帖子

Pandas 中的递归 SQL CTE 查询?

我如何优雅地将下面的递归 SQL 查询移植到 Pandas python 代码?不知何故,如果不编写自己的递归函数,我就看不到直接的方法?

Python示例代码:

import datetime
import numpy as np
import pandas as pd
import pandas.io.data
from pandas import Series, DataFrame

data = {
        'ID': [1,2,3,4,5,6,7,8],
        'Name': ['Keith','Josh','Robin','Raja','Tridip','Arijit','Amit','Dev'],
        'MgrID': [0,1,1,2,0,5,5,6]
    }

df = pd.DataFrame.from_dict(data)
df.set_index('ID', inplace=True, drop=False, append=False)
df.ix[df.query('MgrID >0')['MgrID']]
Run Code Online (Sandbox Code Playgroud)

试图得到这个:

nLevel      ID          Name
================================
1           6            Arijit
2           8               Dev
1           1            Keith
2           2               Josh
2           3               Robin
3           4                 Raja
1           5            Tridip
2           7               Amit
Run Code Online (Sandbox Code Playgroud)

递归 SQL 查询:

;WITH Employee (ID, Name, MgrID) …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
3404
查看次数

标签 统计

pandas ×1

python ×1