Python 为数据帧编制索引

Python 为数据帧编制索引,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我是Python新手,我正在尝试使用索引来获取每行的姓氏 import numpy as np import pandas as pd def manager(vec): for i,val in enumerate(vec): if val == np.NaN: break return vec[i - 1] df = pd.DataFrame({'ID':[23,15,20], 'L1_name': ['Andrew','T

我是Python新手,我正在尝试使用索引来获取每行的姓氏

import numpy as np
import pandas as pd
def manager(vec):
    for i,val in enumerate(vec):
        if val == np.NaN:
            break

        return vec[i - 1]

df = pd.DataFrame({'ID':[23,15,20], 'L1_name': ['Andrew','Thomas','Thomas'],
                'L1_ID': [234,994,994],'L2_Name':['Andrew','Alice','Thomas'],'L2_ID':[234,237,994],
                'L3_Name':['Jerico','Sarah',np.nan],'L3_ID':[453,237,np.nan]})

    df['new'] = df.apply(manager, axis=1)
df
我做错了什么,有人吗?

我认为这是可行的

def管理器(vec): 返回vec.dropna().iloc[-2] 使用按位置查看LCT last column by positions的每行缺失值的正向填充:

s = df.filter(like='Name').ffill(axis=1).iloc[:,-1]
print (s)
0    Jerico
1     Sarah
2    Thomas
Name: L3_Name, dtype: object

您的代码可能格式不正确。您的函数
manager
在foor循环的第一轮返回,可以是
vec[-1]
None