使用列表推导从pandas数据框中的字段创建列表

时间:2017-11-01 06:09:47

标签: pandas list-comprehension python-3.6

您好我正在努力从以下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)]

尝试了以下但没有成功。

orders = [MarketOrder(str(trd['side']), trd['chg']) for rows in trd.index]

我做错了什么?

1 个答案:

答案 0 :(得分: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'])]

在每个循环中的列表理解中,使用列MarketOrderside chg次使用len(trd.index)