df['c'] = df['transaction_descriptor'].apply(lambda x: (df[df['transaction_descriptor'].str.contains(x)]['store_number']))[0]
for index,row in df.loc[df['c'].isna(),:].iterrows():
test_=df.loc[index,'store_number']
test=df.loc[index,'transaction_descriptor']
result=[s for s in test.split() if str(test_) in s]
df.loc[index,'c']=result