Apply()函数无法正常工作

时间:2019-09-13 15:12:11

标签: python python-3.x pandas

我正在尝试应用一个函数,如果该单元格以GNCR而不是实际数字开头,则该函数将删除名为“ gncr”的行的前4个字符。该功能确实有效,但似乎它没有返回,并且我的数据帧保持不变。

我尝试了很多事情,但是没有一个起作用

def extract_gncr(gncr):
    if gncr[0] == 'G':
        gncr = gncr[4:]
    elif not gncr.isdigit():
        gncr = ''
    print(gncr) #This shows me the fonction actually works
    return(gncr)

def merge_data(primary_df):
    foreign_df = pd.read_exce(r"somefile.xlsx")
    #extract the number from "GNCRxxxx"
    foreign['GNCR'] = foreign_df['GNCR'].apply(extract_gncr)
    primary['GNCR'] = primary_df['GNCR'].apply(extract_gncr)
    #foreign and primary remains unchanged
    [...] 

2 个答案:

答案 0 :(得分:1)

问题可能不是apply函数。它可能是范围可变的问题。尝试在merge_data中打印外部和主要内容。

答案 1 :(得分:0)

很抱歉给您带来不便, 此功能确实有效,问题出在其他地方,我已将其修复。 谢谢答案!