Python 3.x 基于条件在dataframe中添加列

Python 3.x 基于条件在dataframe中添加列,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,PFA-df 在这里,我想添加一列值,如下所示: 如果订单类型=市场,则订单['交易价值]=订单['平均价格]*数量 如果订单类型=限额,则订单['交易价值]=订单['价格]*数量 获取上述df的代码如下所示: orders=pd.read_csv('C:/Users/hozef/OneDrive/Desktop/orders.csv') orders.drop(['parent_order_id', 'status_message', 'status_message_raw', 'meta'

PFA-df

在这里,我想添加一列值,如下所示:

  • 如果订单类型=市场,则订单['交易价值]=订单['平均价格]*数量
  • 如果订单类型=限额,则订单['交易价值]=订单['价格]*数量
  • 获取上述df的代码如下所示:

    orders=pd.read_csv('C:/Users/hozef/OneDrive/Desktop/orders.csv')
    orders.drop(['parent_order_id', 'status_message', 'status_message_raw', 'meta', 'tag', 'exchange_timestamp',
                 'exchange_update_timestamp', 'disclosed_quantity', 'market_protection', 'trigger_price', 'guid','order_id','exchange_order_id'], axis=1,
                inplace=True)
    orders=pd.read_csv()
    orders['System_Price'] = np.where(orders['order_type'] == 'MARKET',
                                             orders['average_price'] * 1, 'nan')
    
    orders['System_Target_Price'] = np.where(orders['order_type'] == 'LIMIT',
                                             orders['price'] * 1, 'nan')
    
    conditions = [
        (orders['transaction_type'] == 'BUY'),
        (orders['transaction_type'] == 'SELL')
    ]
    values = ['Target', 'Regular']
    orders['Classification'] = np.select(conditions, values)
    
    conditions1 = [
        (orders['transaction_type'] == 'BUY'),
        (orders['transaction_type'] == 'SELL')
    ]
    values1 = ['Bullish', 'Bearish']
    orders['trend'] = np.select(conditions1, values1)
    

    如果
    市场
    限额
    是仅有的两种
    订单类型
    ,则您可以使用单个:

    订单['traded_value']=np.where(
    订单['order_type']=='MARKET',
    订单【平均价格】*数量,
    订单[‘价格’]*数量)