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

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

代码功能:

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

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

import pandas as pd

unames = ['user_id', 'gender', 'age','occupation','zip']

users = pd.read_table('users.dat', sep='::',header=None, names=unames)

rnames = ['user_id', 'movie_id', 'rating', 'timestamp']

ratings = pd.read_table('ratings.dat', sep='::', header=None, names=rnames)

mnames = ['movie_id', 'title', 'genres']

movies = pd.read_table('movies.dat', sep='::', header=None, names=mnames)

data = pd.merge(pd.merge(ratings,users),movies)

mean_ratings = pd.pivot_table(data,index=['title'],values='rating',columns='gender')

print(mean_ratings[:10])

ratings_by_title = data.groupby('title').size()

print(ratings_by_title[:10])

active_titles = ratings_by_title.index[ratings_by_title >= 250]

print(active_titles)

active_mean_ratings = mean_ratings.loc[active_titles]

top_female_ratings = active_mean_ratings.sort_index(by='F', ascending=False)

active_mean_ratings['diff'] = active_mean_ratings['M'] - active_mean_ratings['F']

sorted_by_diff = active_mean_ratings.sort_index(by='diff')

print(sorted_by_diff[::-1][:15]) #注意对dataframe进行倒序访问的方法

5825c18153e606b3232fcb1456fc94f3.png

6d971f512a685717322362d95aa467fd.png

2c93780252bd125e2a6a232382deef08.png

ff94199f885561f6085dbcb190182aeb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值