Python 3.x 基于条件在dataframe中添加列
PFA-df 在这里,我想添加一列值,如下所示: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'
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',
订单【平均价格】*数量,
订单[‘价格’]*数量)