【问题标题】:How to find the greatest value in a column when x is in another column?当 x 在另一列中时,如何找到一列中的最大值?
【发布时间】:2021-02-22 02:37:01
【问题描述】:

我有一个包含很多歌曲的数据框,并包含诸如“标题”、“持续时间”、“艺术家”等列。我想找到“阿黛尔”在“艺术家”中的“持续时间最长”的歌曲'。我特别挣扎的事情是分隔“艺术家”,因为它们是用逗号分隔的值分隔的。所以我需要检查'Adele'是否在艺术家列表中,但不知道该怎么做。

【问题讨论】:

  • 您能否提供一个代码 sn-p 来创建您正在使用的数据框的最小版本?

标签: python pandas dataframe


【解决方案1】:

如果没有看到您的数据框很难判断,但如果 Adele 是一列中的字符串并且您想要另一列的最大值,您可以尝试:

df[df['Artist'].str.contains('Adele')]['duration'].max()

【讨论】:

    【解决方案2】:

    您可以使用str.contains 过滤艺术家。然后,idxmax 查找持续时间最长的行:

    idx = df.loc[df['artist'].str.contains('Adele'), 'duration'].idxmax()
    
    song_name = df.loc[idx, 'title']
    

    【讨论】:

      猜你喜欢
      • 2016-12-30
      • 2021-02-03
      • 1970-01-01
      • 2020-03-08
      • 2021-07-25
      • 2019-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多