为雅虎财务分组df中的相似值

时间:2017-07-16 19:19:30

标签: python list pandas yahoo-finance

我有一个看起来像这样的df(虽然它扩展到整个SP500):

        Sector
Symbol
MMM     XLI
ABT     XLV
ABBV    XLV
ACN     XLK
ATVI    XLK

我的问题是,如何根据扇区将符号组合在一起?例如,当我想访问数据时,我希望按扇区分组所有符号。

到目前为止,我已经尝试过:

sector_list = list(df[df['Sector']=='XLV'].index)

这有效,但一次仅适用于一个扇区。我想同时计算所有10个扇区的回报,所以我需要一个可以一次性返回所有扇区的等式,按扇区分组

1 个答案:

答案 0 :(得分:2)

groupbyapply一起使用,并将所有索引值转换为list

s = df.groupby('Sector').apply(lambda x: x.index.tolist())
print (s)
Sector
XLI          [MMM]
XLK    [ACN, ATVI]
XLV    [ABT, ABBV]
dtype: object

或来自索引值的Symbol列,reset_index,然后Sector listSymbol每列s = df.reset_index().groupby('Sector')['Symbol'].apply(list) print(s) Sector XLI [MMM] XLK [ACN, ATVI] XLV [ABT, ABBV] Name: Symbol, dtype: object div { {3}}:

<div id="main">  
   <div id="internal">
     <span>Text in yellow color</span>   
   </div> 
</div>