Rellenando una columna de pandas basada en otra columna

Me gustaría llenar cada fila de una columna de mi dataframe en base a las entradas en otra columna, en particular, quiero llenar cada fila con el nombre correspondiente del ticker correspondiente para ese stock, como así

dict1 = [{'ticker': 'AAPL','Name': 'Apple Inc.'}, {'ticker': 'MSFT','Name': 'Microsoft Corporation'}] df1 = pd.DataFrame(dict1) 

Esta función proporciona el nombre de un ticker dado:

Así que puedo tirar el nombre para, por ejemplo, MSFT:

 dict1 = [{'ticker': 'AAPL','Name': 'Apple Inc.'}, {'ticker': 'MSFT','Name': get_nasdaq_symbols().loc['MSFT'].loc['Security Name'][:-15]}] 

Estoy luchando para encontrar una manera de automatizar esto con un bucle for o aplicar. ¿Alguien puede sugerir un enfoque?

Tenga en cuenta, la función utilizada para extraer el nombre proviene de aquí:

  from pandas_datareader.nasdaq_trader import get_nasdaq_symbols 

Primero puede crear un mapeo en serie:

 ticker_name_map = get_nasdaq_symbols()['Security Name'].str[:-15] 

Luego usa pd.Series.map 1 :

 df1['Name'] = df1['ticker'].map(ticker_name_map) 

Si desea que los valores no fillna permanezcan sin cambios, utilice un fillna posterior:

 df1['Name'] = df1['ticker'].map(ticker_name_map).fillna(df1['Name']) 

1 pd.Series.replace también es posible, pero ineficiente .