Pandas 使用列表理解从数据框中的字段创建列表

Pandas 使用列表理解从数据框中的字段创建列表,pandas,list-comprehension,python-3.6,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(s

您好,我正在努力从以下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]
我做错了什么?

使用
zip

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


在您的列表理解中,在每个循环中创建使用
MarketOrder
side
chg
len(trd.index)
次。

MarketOrder
一个函数,还是您想要文本字符串
“MarketOrder”
?它实际上是一个函数在这种情况下,jezrael有答案。
orders = [MarketOrder(x, y) for x,y in zip(trd['side'], trd['chg'])]