【问题标题】:groupby and pandas in pythonpython中的groupby和pandas
【发布时间】:2021-06-17 10:02:23
【问题描述】:

我有一个像这样的文件(score.csv):

我需要在 python 中使用 pandas 和 groupby 解决问题

问题就像我有一个 csv 文件,其中有一个数据,我需要根据某个点进行分组 点是

  1. 我想根据系列 ID 对数据进行分组
  2. 然后找出最高分和百分比
  3. 查找数据最接近 50% 的用户 ID(中间队列) - 与第 2 点的第一个 testid 相比
  4. 然后找到这些用户对其余 testids 的评分
  5. 然后用排名靠前的分数对分数进行归一化

我们的想法是找出学生在每次测试中的表现。 结构: 测试系列(series_id)-> 有多个测试(test_id)-> 与用户映射(user_id)-> 分数 对于每个series_id,查找第一个测试(即每个series id的最低test_id),以及仅在第一个测试中得分在40-60之间的用户。

(现在将对第 1 点中找到的用户进行其他测试的分析。这意味着我找到了得分约为 50 分的用户,现在我将跟踪他们在其他测试中的旅程。) 从上面选择 users_ids 并找到其他测试的分数。除此之外,还必须在每个测试中找到最高分,以找到该测试中获得的分数/最高分的比率。基本上,我们希望对得分最高者的得分进行标准化,以了解这些用户的旅程。

【问题讨论】:

    标签: python pandas pandas-groupby


    【解决方案1】:

    您可以将 groupby 函数与其他聚合方法连接:

    df.groupby('series_id').max('marks_gained')
    df.groupby('series_id').mean('marks_gained')
    

    然后您可以找到中位数,并通过与该中位数相等的距离来定义您的 50% 同类群组。

    df.groupby('series_id').median('marks_gained')
    

    通常最好以易于重现的格式提供数据,并对您的每个请求完全明确(​​例如,您必须猜测百分比是什么意思 - 分数的百分位数?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      相关资源
      最近更新 更多