Adding a column in pandas df using a function

47,902

In general, you can use the apply function. If your function requires only one column, you can use:

df['price'] = df['Symbol'].apply(getquotetoday)

as @EdChum suggested. If your function requires multiple columns, you can use something like:

df['new_column_name'] = df.apply(lambda x: my_function(x['value_1'], x['value_2']), axis=1)
Share:
47,902
RageAgainstheMachine
Author by

RageAgainstheMachine

Updated on January 01, 2020

Comments

  • RageAgainstheMachine
    RageAgainstheMachine over 4 years

    I have a Pandas df [see below]. How do I add values from a function to a new column "price"?

    function:
    
        def getquotetoday(symbol):
            yahoo = Share(symbol)
            return yahoo.get_prev_close()
    
    df:
    
    Symbol    Bid      Ask
    MSFT     10.25   11.15
    AAPL     100.01  102.54
    
    
      (...)