如何修复由于Pandas Groupby中的级别而导致的索引错误

伊尚杜塔

我有以下DataFrame badges该列UserId包含同一用户的多个条目。我想获得给定的DateUserId一个的最小值BadgeName我创建了一个函数user_badge_dt来执行相同的操作,但出现索引错误。需要注意的一点是,尽管所有用户的数据集都是相同的,但我仅对某些徽章而不是其他徽章得到此错误。我不知道为什么会这样。

徽章数据框的一部分

    UserId    BadgeName            Date                   
0     23    Curious         2016-01-12T18:44:49.267 
1     22    Autobiographer  2017-01-12T18:44:49.267 
2     23    Curious         2018-01-12T18:44:49.267 
3     20    Autobiographer  2019-01-12T18:44:49.267 
4     22    Autobiographer  2020-01-12T18:44:49.267
5     30    Curious         2020-01-12T18:44:49.267

功能

#Function to obtain UserId with the date-time of obtaining given badge for the first time
def user_badge_dt(badge_name):
  
  #Creating DataFrame to obtain all UserId and date-Time of given badge
  df = badges[['UserId','Date']].loc[badges.Name == badge]
  
  #Obtaining the first date-time of badge attainment
  v = df.groupby("UserId", group_keys=False)['Date'].nsmallest(1)
  v.index = v.index.droplevel(1)

  df['date'] = df['UserId'].map(v)
  df.drop(columns='Date',inplace=True)
  
  #Removing all duplicate values of Users
  df.drop_duplicates(subset='UserId',  inplace=True )

  return df

错误

IndexError: Too many levels: Index has only 1 level, not 2

注意
在进一步检查时,我发现此行引起了错误v.index = v.index.droplevel(1)

这是因为前面的代码行针对不同的徽章名称给出了不同的结果:

案例1:当代码对于给定徽章正确运行

df = badges [['UserId','Date']]。loc [badges.Name =='Autobiographer']
v = df.groupby(“ UserId”,group_keys = False)['Date']。nsmallest(1)打印(v)

o / p:

    1   22    2017-01-12T18:44:49.267 
    3   20    2019-01-12T18:44:49.267 

(此输出具有indexUserId并且具有Date给定徽章的最小值

案例2:当代码无法正确使用给定徽章

df = badges [[['UserId','Date']]。loc [badges.Name =='Curious']
v = df.groupby(“ UserId”,group_keys = False)['Date']。nsmallest(1)打印(v)

o / p:

      23   2016-01-12T18:44:49.267 
      30   2020-01-12T18:44:49.267

(此输出不具有index这就是为什么代码在下一行失败的原因。我不知道它是如何发生的。)

该函数对任何输入的预期输出badge_name应返回一个数据框,其中包含UserId和以及Date给定标志的最小值如果我的功能不清楚,请提供新方法来实现此目的。

耶斯列尔

我无法模拟您的错误,但是我认为您的解决方案应该简化DataFrame.sort_values-然后让所有最早的用户使用最少的日期:

badges['Date'] = pd.to_datetime(badges['Date'])

def user_badge_dt(badge_name):
  
  #Creating DataFrame to obtain all UserId and date-Time of given badge
  return  (badges.loc[badges.BadgeName == badge_name, ['UserId','Date']]
                 .sort_values('Date')
                 .drop_duplicates(subset='UserId'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

由于输入数据中的空行而导致索引错误

来自分类Dev

如何修复由于远程git repo错误而导致的Jenkins错误

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

来自分类Dev

如何修复国际象棋字典验证器中的索引错误

来自分类Dev

如何在 python + 慢速学习模型中修复这段代码的索引错误?

来自分类Dev

如何在python 3.4 tkinter中修复此错误“索引错误:列表索引超出范围”

来自分类常见问题

如何修复HTTP状态500索引错误?

来自分类Dev

如何修复由于移动引导扇区而导致的引导失败?

来自分类Dev

由于旧的无效 gitmodules 文件,如何修复 git fsk 错误?

来自分类Dev

来自loc命令的python中的pandas索引错误。CSV文件中没有索引

来自分类Dev

Pandas iloc 和 loc 索引错误

来自分类Dev

如何修复由于扫描仪错误读取文件而导致的InputMismatchException错误?

来自分类Dev

与附件文档中的索引字段同名的字段如何避免范围索引错误?

来自分类Dev

如何修复由于缺少“ gi.repository”而导致的“无法导入:GTK +”错误?

来自分类Dev

如何修复由于使用TCC / LE启动CmdInit.cmd而导致的未知命令错误?

来自分类Dev

Python索引错误:如何调试

来自分类Dev

如何查找和修复由于Haskell中的GC而导致的性能问题?

来自分类Dev

使用writer.save()将Pandas Data Frame加载到Excel中并获取索引错误

来自分类Dev

由于缺少索引错误,Logstash无法导入文件

来自分类Dev

如何在 Python 中捕获特定的索引错误并为此附加新值?

来自分类Dev

如果他只出现在 while 循环中,如何修复索引错误(列表)

来自分类Dev

如何修复.Net Azure Function App中的“由于对象的当前状态,操作无效”错误?

来自分类Dev

如何修复由于错误的电子邮件地址而被搞砸的GitHub个人资料贡献图?

来自分类Dev

由于在 Pandas 数据框中缺少行号而导致的关键错误

来自分类Dev

Flight Framework如何避免未定义的索引错误

来自分类Dev

如何抑制未定义索引错误?

来自分类Dev

修复由于iOS 7中的UIRefreshControl而导致的UITableViewController偏移

来自分类Dev

如何在我的pandas apply语句中避免出现此索引错误?

Related 相关文章

  1. 1

    由于输入数据中的空行而导致索引错误

  2. 2

    如何修复由于远程git repo错误而导致的Jenkins错误

  3. 3

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  4. 4

    如何修复由于Python中的递归函数调用而导致的UnboundLocalError?

  5. 5

    如何修复国际象棋字典验证器中的索引错误

  6. 6

    如何在 python + 慢速学习模型中修复这段代码的索引错误?

  7. 7

    如何在python 3.4 tkinter中修复此错误“索引错误:列表索引超出范围”

  8. 8

    如何修复HTTP状态500索引错误?

  9. 9

    如何修复由于移动引导扇区而导致的引导失败?

  10. 10

    由于旧的无效 gitmodules 文件,如何修复 git fsk 错误?

  11. 11

    来自loc命令的python中的pandas索引错误。CSV文件中没有索引

  12. 12

    Pandas iloc 和 loc 索引错误

  13. 13

    如何修复由于扫描仪错误读取文件而导致的InputMismatchException错误?

  14. 14

    与附件文档中的索引字段同名的字段如何避免范围索引错误?

  15. 15

    如何修复由于缺少“ gi.repository”而导致的“无法导入:GTK +”错误?

  16. 16

    如何修复由于使用TCC / LE启动CmdInit.cmd而导致的未知命令错误?

  17. 17

    Python索引错误:如何调试

  18. 18

    如何查找和修复由于Haskell中的GC而导致的性能问题?

  19. 19

    使用writer.save()将Pandas Data Frame加载到Excel中并获取索引错误

  20. 20

    由于缺少索引错误,Logstash无法导入文件

  21. 21

    如何在 Python 中捕获特定的索引错误并为此附加新值?

  22. 22

    如果他只出现在 while 循环中,如何修复索引错误(列表)

  23. 23

    如何修复.Net Azure Function App中的“由于对象的当前状态,操作无效”错误?

  24. 24

    如何修复由于错误的电子邮件地址而被搞砸的GitHub个人资料贡献图?

  25. 25

    由于在 Pandas 数据框中缺少行号而导致的关键错误

  26. 26

    Flight Framework如何避免未定义的索引错误

  27. 27

    如何抑制未定义索引错误?

  28. 28

    修复由于iOS 7中的UIRefreshControl而导致的UITableViewController偏移

  29. 29

    如何在我的pandas apply语句中避免出现此索引错误?

热门标签

归档