【问题标题】:Iterate through a dataframe by index按索引遍历数据框
【发布时间】:2016-08-20 06:25:27
【问题描述】:

我有一个名为 staticData 的数据框,如下所示:

                         narrow_sector       broad_sector country exchange  \
unique_id                                                                    
BBG.MTAA.STM.S          Semiconductors         Technology      CH     MTAA   
BBG.MTAA.CNHI.S  Machinery-Diversified         Industrial      GB     MTAA   
BBG.MTAA.FCA.S      Auto Manufacturers  Consumer Cyclical      GB     MTAA   
BBG.MTAA.A2A.S                Electric          Utilities      IT     MTAA   
BBG.MTAA.ACE.S                Electric          Utilities      IT     MTAA 

我正在逐行遍历数据帧,挑选出索引(unique_id)和交换这两位信息。我在迭代索引时遇到问题。请看我的代码:

 for i, row in staticData.iterrows():

        unique_id = staticData.ix[i]

        exchange = row['exchange']

我尝试了 unique_id = row['unique_id'],但无法正常工作...

我正在尝试返回第 1 行的说法

unique_id = BBG.MTAA.STM.S
exchange = MTAA 

【问题讨论】:

    标签: python python-3.x pandas


    【解决方案1】:

    可能是更像熊猫的方式?

    staticData.apply((lambda x: (x.name, x['exchange'])), axis=1)
    

    【讨论】:

      【解决方案2】:

      您想要以下内容:

      for i, row in staticData.iterrows():
          unique_id = i
          exchange = row['exchange']
      

      i 将是索引标签值

      例子:

      In [57]:
      df = pd.DataFrame(np.random.randn(5,3), index=list('abcde'), columns=list('fgh'))
      df
      
      Out[57]:
                f         g         h
      a -0.900835 -0.913989 -0.624536
      b -0.854091  0.286364 -0.869539
      c  1.090133 -0.771667  1.258372
      d -0.721753 -0.329211  0.479295
      e  0.520786  0.273722  0.824172
      
      In [62]:
      for i, row in df.iterrows():
          print('index: ', i, 'col g:', row['g'])
      
      index:  a col g: -0.913988608754
      index:  b col g: 0.286363847188
      index:  c col g: -0.771666520074
      index:  d col g: -0.329211394286
      index:  e col g: 0.273721527592
      

      【讨论】:

        猜你喜欢
        • 2021-01-19
        • 2017-07-09
        • 2016-09-25
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 2021-02-17
        相关资源
        最近更新 更多