【问题标题】:Looping through and Sorting Rows in pandas without using inbuilt function在不使用内置函数的情况下循环遍历和排序 pandas 中的行
【发布时间】:2021-05-05 03:07:58
【问题描述】:

如何遍历行并确定 John 和 Aaron 在哪个学期的成绩最高? 注意:不使用内置的 pandas 函数

下面是我的数据框:

  Index        Sem1        Sem2
  John         98           99
  Aaron        91           100
  Brian        100          93

   

我能达到的最接近的方法是循环遍历数据框并以以下方式访问索引,但我无法将这些值附加到列表中。 `蟒蛇

    for i in dfff:
      names = []
      names.append(dfff[i].John)

`

【问题讨论】:

    标签: python python-3.x pandas dataframe sorting


    【解决方案1】:

    您应该在循环之外定义列表变量;否则,你会在每次迭代中失去它的价值。

    names = []
    for i in dfff:
      names.append(dfff[i].John)
    

    【讨论】:

      【解决方案2】:

      IIUC,您可以像这样确定每个学生成绩最高的学期:

      df.set_index('Index').idxmax(axis=1)
      

      输出:

      Index
      John     Sem2
      Aaron    Sem2
      Brian    Sem1
      dtype: object
      

      hig = {}
      df = df.set_index('Index')
      for idx, row in df.iterrows():
          if row['Sem1'] > row['Sem2']:
              hig[idx] = 'Sem1'
          elif row['Sem2'] > row['Sem1']:
              hig[idx] = 'Sem2'
          else:
              hig[idx] = 'Same'
              
      print(hig)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-27
        • 2017-11-22
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2016-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多