在DataFrame数据表里面提取需要的行

代码功能:

在DataFrame表格中使用loc(),得到我们想要的行,然后根据某一列元素的值进行排序

此代码中还展示了为DataFrame添加列,即直接name_DataFrame['diff']=___即可,同时可以依据新添加的列元素的值,来对dataframe进行排序

  1. import pandas as pd
  2.  
  3. unames = ['user_id', 'gender', 'age','occupation','zip']
  4. users = pd.read_table('users.dat', sep='::',header=None, names=unames)
  5.  
  6. rnames = ['user_id', 'movie_id', 'rating', 'timestamp']
  7. ratings = pd.read_table('ratings.dat', sep='::', header=None, names=rnames)
  8.  
  9. mnames = ['movie_id', 'title', 'genres']
  10. movies = pd.read_table('movies.dat', sep='::', header=None, names=mnames)
  11.  
  12. data = pd.merge(pd.merge(ratings,users),movies)
  13.  
  14. mean_ratings = pd.pivot_table(data,index=['title'],values='rating',columns='gender')
  15.  
  16. print(mean_ratings[:10])
  17.  
  18. ratings_by_title = data.groupby('title').size()
  19.  
  20. print(ratings_by_title[:10])
  21.  
  22. active_titles = ratings_by_title.index[ratings_by_title >= 250]
  23.  
  24. print(active_titles)
  25.  
  26. active_mean_ratings = mean_ratings.loc[active_titles]
  27.  
  28. top_female_ratings = active_mean_ratings.sort_index(by='F', ascending=False)
  29.  
  30. active_mean_ratings['diff'] = active_mean_ratings['M'] - active_mean_ratings['F']
  31.  
  32. sorted_by_diff = active_mean_ratings.sort_index(by='diff')
  33.  
  34. print(sorted_by_diff[::-1][:15]) #注意对dataframe进行倒序访问的方法

在DataFrame数据表里面提取需要的行的更多相关文章

  1. spark dataframe操作集锦(提取前几行,合并,入库等)

    https://blog.csdn.net/sparkexpert/article/details/51042970 spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当 ...

  2. 存储过程获取最后插入到数据表里面的ID

    存储过程获取最后插入到数据表里面的ID SET NOCOUNT on;---不返回影响行数提高性能GOcreate proc [sp_bbs_thread_Insert] @id int output ...

  3. mysql的if用法解决同一张数据表里面两个字段是否相等统计数据量。

    MySQL的使用用法如下所示:格式:if(Condition,A,B)意义:当Condition为true时,返回A:当Condition为false时,返回B.作用:作为条件语句使用.mysql的i ...

  4. Python3 Pandas的DataFrame数据的增、删、改、查

    Python3 Pandas的DataFrame数据的增.删.改.查 一.DataFrame数据准备 增.删.改.查的方法有很多很多种,这里只展示出常用的几种. 参数inplace默认为False,只 ...

  5. Pandas DataFrame数据的增、删、改、查

    Pandas DataFrame数据的增.删.改.查 https://blog.csdn.net/zhangchuang601/article/details/79583551 #删除列 df_2 = ...

  6. spark 将dataframe数据写入Hive分区表

    从spark1.2 到spark1.3,spark SQL中的SchemaRDD变为了DataFrame,DataFrame相对于SchemaRDD有了较大改变,同时提供了更多好用且方便的API.Da ...

  7. Pandas DataFrame 数据选取和过滤

    This would allow chaining operations like: pd.read_csv('imdb.txt') .sort(columns='year') .filter(lam ...

  8. python爬虫的页面数据解析和提取/xpath/bs4/jsonpath/正则(2)

    上半部分内容链接 : https://www.cnblogs.com/lowmanisbusy/p/9069330.html 四.json和jsonpath的使用 JSON(JavaScript Ob ...

  9. 将DataFrame数据如何写入到Hive表中

    1.将DataFrame数据如何写入到Hive表中?2.通过那个API实现创建spark临时表?3.如何将DataFrame数据写入hive指定数据表的分区中? 从spark1.2 到spark1.3 ...

随机推荐

  1. Oracle学习DayThree

    一.视图 1.定义: 视图是一种虚表,是从表中抽出的逻辑上相关的数据集合. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解 ...

  2. Beta冲刺 6

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129063.html 作业博客:https://edu.cnblogs.com/campus ...

  3. 在过去五分钟内,TypeScript语言服务以外终止了5次

    这个问题困扰了我两次...第一次重装了VS CODE 具体的原意找到之后我直接想骂娘....... 各位如果碰到这个问题....请打开你的360安全卫士!!! 注意看看您家360的防护日志有木有贴心帮 ...

  4. Navicat连接Mysql报错:Client does not support authentication protocol requested by server;

    Navicat连接Mysql报错:Client does not support authentication protocol requested by server: 刚安装Mysql,想用Nav ...

  5. EF简单的CURD操作

    /// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...

  6. 面向对象text 01 盖伦vs瑞文vs提莫

    ''' Text For Class: League of Legends Garen vs Riven vs Teemo ''' import random # 全局随机 import time c ...

  7. 服务器配置+wordpress建站(小白)

    一. 安装好centos7.2系统后,登录centos系统输入如下命令: yum install -y wget && wget -O install.sh http://downlo ...

  8. 深度学习(pytorch)-1.基于简单神经网络的图片自动分类

    这是pytorch官方的一个例子 官方教程地址:http://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-b ...

  9. Linux 驱动——Button驱动7(Timer)消抖

    button_drv.c驱动文件: #include <linux/module.h>#include <linux/kernel.h>#include <linux/f ...

  10. JODA-TIME获取本月的第一天及最后一天

    1.获取当前时间: LocalDate now = LocalDate.now(); 2.本月第一天: LocalDate firstDayOfCurrentMouth = now.dayOfMont ...