4. 通过排序选取每组的最大值

  1. # 同上,选取出三列。按照title_year降序排列
  2. In[37]: movie = pd.read_csv('data/movie.csv')
  3. movie2 = movie[['movie_title', 'title_year', 'imdb_score']]
  4. In[38]: movie2.sort_values('title_year', ascending=False).head()
  5. Out[38]:

4. 通过排序选取每组的最大值 - 图1

  1. # 用列表同时对两列进行排序
  2. In[39]: movie3 = movie2.sort_values(['title_year','imdb_score'], ascending=False)
  3. movie3.head()
  4. Out[39]:

4. 通过排序选取每组的最大值 - 图2

  1. # 用drop_duplicates去重,只保留每年的第一条数据
  2. In[40]: movie_top_year = movie3.drop_duplicates(subset='title_year')
  3. movie_top_year.head()
  4. Out[40]:

4. 通过排序选取每组的最大值 - 图3

  1. # 通过给ascending设置列表,可以同时对一列降序排列,一列升序排列
  2. In[41]: movie4 = movie[['movie_title', 'title_year', 'content_rating', 'budget']]
  3. movie4_sorted = movie4.sort_values(['title_year', 'content_rating', 'budget'],
  4. ascending=[False, False, True])
  5. movie4_sorted.drop_duplicates(subset=['title_year', 'content_rating']).head(10)
  6. Out[41]:

4. 通过排序选取每组的最大值 - 图4