簡體   English   中英

Python Pandas從數據框提取變量

[英]Python pandas extract variables from dataframe

將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?

IIUC,您可以使用iloc獲取第一行,然后使用iloc集對數據iloc進行切片,並將其傳遞給變量。 像這樣的東西:

bq_selection_id, bq_lay_stake, bq_lay_price, withdrawal_sequence = back_bf_lay_bq[['bq_selection_id', 'bq_lay_stake', 'bq_lay_price', 'withdrawal_sequence']].iloc[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM