【问题标题】:error when applying function to a series object将函数应用于系列对象时出错
【发布时间】:2018-04-25 14:32:44
【问题描述】:

我正在使用一个函数来查找列中的最小值。我收到错误“int 对象没有属性 min。我认为这可能是语法错误。我知道我可以直接使用 do['a'].min() 但我想使用函数来执行此操作。有人可以帮忙吗.

  def find_min(columnrow, stat_name):
     if stat_name=='min':
         return columnrow.min()

  val=df['a'].apply(find_min,stat_name='min')

【问题讨论】:

  • apply 对每一行进行操作。你这样做没有意义

标签: python pandas dataframe series


【解决方案1】:

尝试return min(columnrow),并将df['a'].apply(...) 更改为df.apply(...)['a']。 (为什么不df['a'].min()?)

【讨论】:

  • 因为我想找到很多其他统计数据,并且在主程序中拥有所有这些 if else 条件并不整洁。我试过你的方法,但它说 apply 至少需要 2 个参数 1 给出。
  • @Hue 为什么写.apply(find_min, "min") 比写.min() 更好??
  • @Hue,实际上,根据您对find_min 的原始定义,这应该可以:val=df.apply(find_min,stat_name='min')['a']。我必须在这里回应其他评论者,这种方法是不必要的迂回。
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-25
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
相关资源
最近更新 更多