2017-11-01 22 views
1

を使ってパンダのデータフレーム内のフィールドからリストを作成しますこんにちは、私は、次のDFからのリストオブジェクトを作成するために苦労しています:リスト内包

In [102]: trd 
    Out[102]: 
     side chg 
    EWJ BUY 100.0 
    IEV BUY 70.0 
    VGK SELL 30.0 

所望の出力:

[MarketOrder('BUY',100), MarketOrder('BUY',70), MarketOrder('SELL',30)] 

はせずに次のことを試してみました成功。

私は間違っていますか?

+0

'MarketOrder'は関数か、リテラル文字列' "MarketOrder" 'を使いますか? –

+0

実際にその関数 – steff

+0

その場合、jezraelが答えを持っています。 –

答えて

3

使用zip

orders = [MarketOrder(x[0], x[1]) for x in zip(trd['side'], trd['chg'])] 

または:

orders = [MarketOrder(x, y) for x,y in zip(trd['side'], trd['chg'])] 

あなたのリストの内包表記で各ループでは、列sidelen(trd.index)回で使用MarketOrderを作成します。