【发布时间】:2016-02-20 16:11:21
【问题描述】:
将 DataFrame 列转换为变量的最佳方法是什么。我有下注条件,我使用 head(n=1)
back_bf_lay_bq = bb[(bb['bf_back_bq_lay_lose_net'] > 0) & (bb['bq_lay_price'] < 5) & (bb['bq_lay_price'] != 0) & (bb['bf_back_liquid'] > bb['bf_back_stake']) & (bb['bq_lay_liquid'] > bb['bq_lay_horse_win'])].head(n=1)
我想将列转换为变量并将它们传递给 API 以进行投注。所以我将 back_bf_lay_bq 转换为字典并提取值
#Bets placements
dd = pd.DataFrame.to_dict(back_bf_lay_bq, orient='list')
#Betdaq bet placement
bq_selection_id = dd['bq_selection_id'][0]
bq_lay_stake = dd['bq_lay_stake'][0]
bq_lay_price = dd['bq_lay_price'][0]
bet_type = 2
reset_count = dd['bq_count_reset'][0]
withdrawal_sequence = dd['bq_withdrawal_sequence'][0]
kill_type = 2
betdaq_request = betdaq_api.PlaceOrdersNoReceipt(bq_selection_id,bq_lay_stake,bq_lay_price,bet_type,reset_count,withdrawal_sequence,kill_type)
我认为这不是最有效的方法,它会时不时带来错误
bq_selection_id = dd['bq_selection_id'][0]
IndexError: 列表索引超出范围
那么您能否提出一种更好的方法来从 DataFrame 获取值并将它们传递给 API?
【问题讨论】:
-
你能create a Minimal, Complete, and Verifiable example吗?有点难以理解你的
back_bf_lay_bq和bb是什么样子的。
标签: python python-2.7 python-3.x pandas