Campaigns are moving away from the meaningless labels of pollsters and newsweeklies — “Nascar dads” and “waitress moms” — and moving toward treating each voter as a separate person. In 2012 you didn’t just have to be an African-American from Akron or a suburban married female age 45 to 54. More and more, the information age allows people to be complicated, contradictory and unique. New technologies and an abundance of data may rattle the senses, but they are also bringing a fresh appreciation of the value of the individual to American politics.
- Ethan Roeder, “I Am Not Big Brother” http://www.nytimes.com/2012/12/06/opinion/i-am-not-big-brother.html?_r=0.
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
We'll be using the MovieLens data set with 100K ratings from http://grouplens.org/datasets/movielens/. There you can find much bigger sets. You can download it at http://files.grouplens.org/datasets/movielens/ml-100k.zip.
In the midst of writing this, I discovered a great blog post using pandas
on the same data: http://www.gregreda.com/2013/10/26/using-pandas-on-the-movielens-dataset/. The approach and tools are slightly different. Worth checking out!
!ls ~/Downloads/ml-100*
/Users/mljones/Downloads/ml-100k.zip
!unzip ~/Downloads/ml-100k
Archive: /Users/mljones/Downloads/ml-100k.zip creating: ml-100k/ inflating: ml-100k/allbut.pl inflating: ml-100k/mku.sh inflating: ml-100k/README inflating: ml-100k/u.data inflating: ml-100k/u.genre inflating: ml-100k/u.info inflating: ml-100k/u.item inflating: ml-100k/u.occupation inflating: ml-100k/u.user inflating: ml-100k/u1.base inflating: ml-100k/u1.test inflating: ml-100k/u2.base inflating: ml-100k/u2.test inflating: ml-100k/u3.base inflating: ml-100k/u3.test inflating: ml-100k/u4.base inflating: ml-100k/u4.test inflating: ml-100k/u5.base inflating: ml-100k/u5.test inflating: ml-100k/ua.base inflating: ml-100k/ua.test inflating: ml-100k/ub.base inflating: ml-100k/ub.test
!cd ml-100k
!ls ml-100k
README u.genre u.user u2.test u4.test ua.test allbut.pl u.info u1.base u3.base u5.base ub.base mku.sh u.item u1.test u3.test u5.test ub.test u.data u.occupation u2.base u4.base ua.base
!cat ml-100k/README
SUMMARY & USAGE LICENSE ============================================= MovieLens data sets were collected by the GroupLens Research Project at the University of Minnesota. This data set consists of: * 100,000 ratings (1-5) from 943 users on 1682 movies. * Each user has rated at least 20 movies. * Simple demographic info for the users (age, gender, occupation, zip) The data was collected through the MovieLens web site (movielens.umn.edu) during the seven-month period from September 19th, 1997 through April 22nd, 1998. This data has been cleaned up - users who had less than 20 ratings or did not have complete demographic information were removed from this data set. Detailed descriptions of the data file can be found at the end of this file. Neither the University of Minnesota nor any of the researchers involved can guarantee the correctness of the data, its suitability for any particular purpose, or the validity of results based on the use of the data set. The data set may be used for any research purposes under the following conditions: * The user may not state or imply any endorsement from the University of Minnesota or the GroupLens Research Group. * The user must acknowledge the use of the data set in publications resulting from the use of the data set, and must send us an electronic or paper copy of those publications. * The user may not redistribute the data without separate permission. * The user may not use this information for any commercial or revenue-bearing purposes without first obtaining permission from a faculty member of the GroupLens Research Project at the University of Minnesota. If you have any further questions or comments, please contact GroupLens <grouplens-info@cs.umn.edu>. ACKNOWLEDGEMENTS ============================================== Thanks to Al Borchers for cleaning up this data and writing the accompanying scripts. PUBLISHED WORK THAT HAS USED THIS DATASET ============================================== Herlocker, J., Konstan, J., Borchers, A., Riedl, J.. An Algorithmic Framework for Performing Collaborative Filtering. Proceedings of the 1999 Conference on Research and Development in Information Retrieval. Aug. 1999. FURTHER INFORMATION ABOUT THE GROUPLENS RESEARCH PROJECT ============================================== The GroupLens Research Project is a research group in the Department of Computer Science and Engineering at the University of Minnesota. Members of the GroupLens Research Project are involved in many research projects related to the fields of information filtering, collaborative filtering, and recommender systems. The project is lead by professors John Riedl and Joseph Konstan. The project began to explore automated collaborative filtering in 1992, but is most well known for its world wide trial of an automated collaborative filtering system for Usenet news in 1996. The technology developed in the Usenet trial formed the base for the formation of Net Perceptions, Inc., which was founded by members of GroupLens Research. Since then the project has expanded its scope to research overall information filtering solutions, integrating in content-based methods as well as improving current collaborative filtering technology. Further information on the GroupLens Research project, including research publications, can be found at the following web site: http://www.grouplens.org/ GroupLens Research currently operates a movie recommender based on collaborative filtering: http://www.movielens.org/ DETAILED DESCRIPTIONS OF DATA FILES ============================================== Here are brief descriptions of the data. ml-data.tar.gz -- Compressed tar file. To rebuild the u data files do this: gunzip ml-data.tar.gz tar xvf ml-data.tar mku.sh u.data -- The full u data set, 100000 ratings by 943 users on 1682 items. Each user has rated at least 20 movies. Users and items are numbered consecutively from 1. The data is randomly ordered. This is a tab separated list of user id | item id | rating | timestamp. The time stamps are unix seconds since 1/1/1970 UTC u.info -- The number of users, items, and ratings in the u data set. u.item -- Information about the items (movies); this is a tab separated list of movie id | movie title | release date | video release date | IMDb URL | unknown | Action | Adventure | Animation | Children's | Comedy | Crime | Documentary | Drama | Fantasy | Film-Noir | Horror | Musical | Mystery | Romance | Sci-Fi | Thriller | War | Western | The last 19 fields are the genres, a 1 indicates the movie is of that genre, a 0 indicates it is not; movies can be in several genres at once. The movie ids are the ones used in the u.data data set. u.genre -- A list of the genres. u.user -- Demographic information about the users; this is a tab separated list of user id | age | gender | occupation | zip code The user ids are the ones used in the u.data data set. u.occupation -- A list of the occupations. u1.base -- The data sets u1.base and u1.test through u5.base and u5.test u1.test are 80%/20% splits of the u data into training and test data. u2.base Each of u1, ..., u5 have disjoint test sets; this if for u2.test 5 fold cross validation (where you repeat your experiment u3.base with each training and test set and average the results). u3.test These data sets can be generated from u.data by mku.sh. u4.base u4.test u5.base u5.test ua.base -- The data sets ua.base, ua.test, ub.base, and ub.test ua.test split the u data into a training set and a test set with ub.base exactly 10 ratings per user in the test set. The sets ub.test ua.test and ub.test are disjoint. These data sets can be generated from u.data by mku.sh. allbut.pl -- The script that generates training and test sets where all but n of a users ratings are in the training data. mku.sh -- A shell script to generate all the u data sets from u.data.
from IPython.display import Image
Image("http://imgur.com/ZhpRFTj.png")
films=pd.read_csv('./ml-100k/u.item', sep="|", names=["movie id", "movie_title", "release_date", "video_release_date", "IMDb_URL", "unknown", "Action","Adventure", "Animation", "Children's", "Comedy", "Crime", "Documentary", "Drama", "Fantasy", "Film-Noir", "Horror", "Musical", "Mystery", "Romance", "Sci-Fi", "Thriller", "War", "Western"], index_col="movie id")
labels_films=["movie_id", "movie_title", "release_date", "video_release_date", "IMDb_URL", "unknown", "Action","Adventure", "Animation", "Children's", "Comedy", "Crime", "Documentary", "Drama", "Fantasy", "Film-Noir", "Horror", "Musical", "Mystery", "Romance", "Sci-Fi", "Thriller", "War", "Western"]
users=pd.read_csv('./ml-100k/u.user', sep="|", names=["user_id", "age", "gender","occupation","zip_code"], index_col="user_id")
individual_ratings=pd.read_csv('./ml-100k/u.data', sep="\t", names=["user_id", "item_id", "rating", "timestamp"])
individual_ratings
user_id | item_id | rating | timestamp | |
---|---|---|---|---|
0 | 196 | 242 | 3 | 881250949 |
1 | 186 | 302 | 3 | 891717742 |
2 | 22 | 377 | 1 | 878887116 |
3 | 244 | 51 | 2 | 880606923 |
4 | 166 | 346 | 1 | 886397596 |
5 | 298 | 474 | 4 | 884182806 |
6 | 115 | 265 | 2 | 881171488 |
7 | 253 | 465 | 5 | 891628467 |
8 | 305 | 451 | 3 | 886324817 |
9 | 6 | 86 | 3 | 883603013 |
10 | 62 | 257 | 2 | 879372434 |
11 | 286 | 1014 | 5 | 879781125 |
12 | 200 | 222 | 5 | 876042340 |
13 | 210 | 40 | 3 | 891035994 |
14 | 224 | 29 | 3 | 888104457 |
15 | 303 | 785 | 3 | 879485318 |
16 | 122 | 387 | 5 | 879270459 |
17 | 194 | 274 | 2 | 879539794 |
18 | 291 | 1042 | 4 | 874834944 |
19 | 234 | 1184 | 2 | 892079237 |
20 | 119 | 392 | 4 | 886176814 |
21 | 167 | 486 | 4 | 892738452 |
22 | 299 | 144 | 4 | 877881320 |
23 | 291 | 118 | 2 | 874833878 |
24 | 308 | 1 | 4 | 887736532 |
25 | 95 | 546 | 2 | 879196566 |
26 | 38 | 95 | 5 | 892430094 |
27 | 102 | 768 | 2 | 883748450 |
28 | 63 | 277 | 4 | 875747401 |
29 | 160 | 234 | 5 | 876861185 |
... | ... | ... | ... | ... |
99970 | 449 | 120 | 1 | 879959573 |
99971 | 661 | 762 | 2 | 876037121 |
99972 | 721 | 874 | 3 | 877137447 |
99973 | 821 | 151 | 4 | 874792889 |
99974 | 764 | 596 | 3 | 876243046 |
99975 | 537 | 443 | 3 | 886031752 |
99976 | 618 | 628 | 2 | 891308019 |
99977 | 487 | 291 | 3 | 883445079 |
99978 | 113 | 975 | 5 | 875936424 |
99979 | 943 | 391 | 2 | 888640291 |
99980 | 864 | 685 | 4 | 888891900 |
99981 | 750 | 323 | 3 | 879445877 |
99982 | 279 | 64 | 1 | 875308510 |
99983 | 646 | 750 | 3 | 888528902 |
99984 | 654 | 370 | 2 | 887863914 |
99985 | 617 | 582 | 4 | 883789294 |
99986 | 913 | 690 | 3 | 880824288 |
99987 | 660 | 229 | 2 | 891406212 |
99988 | 421 | 498 | 4 | 892241344 |
99989 | 495 | 1091 | 4 | 888637503 |
99990 | 806 | 421 | 4 | 882388897 |
99991 | 676 | 538 | 4 | 892685437 |
99992 | 721 | 262 | 3 | 877137285 |
99993 | 913 | 209 | 2 | 881367150 |
99994 | 378 | 78 | 3 | 880056976 |
99995 | 880 | 476 | 3 | 880175444 |
99996 | 716 | 204 | 5 | 879795543 |
99997 | 276 | 1090 | 1 | 874795795 |
99998 | 13 | 225 | 2 | 882399156 |
99999 | 12 | 203 | 3 | 879959583 |
100000 rows × 4 columns
pd.to_datetime(individual_ratings["timestamp"], unit="s")
0 1997-12-04 15:55:49 1 1998-04-04 19:22:22 2 1997-11-07 07:18:36 3 1997-11-27 05:02:03 4 1998-02-02 05:33:16 5 1998-01-07 14:20:06 6 1997-12-03 17:51:28 7 1998-04-03 18:34:27 8 1998-02-01 09:20:17 9 1997-12-31 21:16:53 10 1997-11-12 22:07:14 11 1997-11-17 15:38:45 12 1997-10-05 09:05:40 13 1998-03-27 21:59:54 14 1998-02-21 23:40:57 15 1997-11-14 05:28:38 16 1997-11-11 17:47:39 17 1997-11-14 20:36:34 18 1997-09-21 09:42:24 19 1998-04-08 23:47:17 20 1998-01-30 16:13:34 21 1998-04-16 14:54:12 22 1997-10-26 15:55:20 23 1997-09-21 09:24:38 24 1998-02-17 17:28:52 25 1997-11-10 21:16:06 26 1998-04-13 01:14:54 27 1998-01-02 13:40:50 28 1997-10-01 23:10:01 29 1997-10-14 20:33:05 ... 99970 1997-11-19 17:12:53 99971 1997-10-05 07:38:41 99972 1997-10-18 01:17:27 99973 1997-09-20 22:01:29 99974 1997-10-07 16:50:46 99975 1998-01-28 23:55:52 99976 1998-03-31 01:33:39 99977 1997-12-30 01:24:39 99978 1997-10-04 03:40:24 99979 1998-02-28 04:31:31 99980 1998-03-03 02:25:00 99981 1997-11-13 18:31:17 99982 1997-09-26 21:15:10 99983 1998-02-26 21:35:02 99984 1998-02-19 04:51:54 99985 1998-01-03 01:01:34 99986 1997-11-29 17:24:48 99987 1998-04-01 04:50:12 99988 1998-04-10 20:49:04 99989 1998-02-28 03:45:03 99990 1997-12-17 20:01:37 99991 1998-04-16 00:10:37 99992 1997-10-18 01:14:45 99993 1997-12-06 00:12:30 99994 1997-11-20 20:16:16 99995 1997-11-22 05:10:44 99996 1997-11-17 19:39:03 99997 1997-09-20 22:49:55 99998 1997-12-17 22:52:36 99999 1997-11-19 17:13:03 Name: timestamp, dtype: datetime64[ns]
individual_ratings["timestamp"]=pd.to_datetime(individual_ratings["timestamp"], unit="s")
individual_ratings.head()
user_id | item_id | rating | timestamp | |
---|---|---|---|---|
0 | 196 | 242 | 3 | 1997-12-04 15:55:49 |
1 | 186 | 302 | 3 | 1998-04-04 19:22:22 |
2 | 22 | 377 | 1 | 1997-11-07 07:18:36 |
3 | 244 | 51 | 2 | 1997-11-27 05:02:03 |
4 | 166 | 346 | 1 | 1998-02-02 05:33:16 |
users.ix[196]
age 49 gender M occupation writer zip_code 55105 Name: 196, dtype: object
films.ix[242]
movie id 243 movie_title Jungle2Jungle (1997) release_date 07-Mar-1997 video_release_date NaN IMDb_URL http://us.imdb.com/M/title-exact?Jungle2Jungle... unknown 0 Action 0 Adventure 0 Animation 0 Children's 1 Comedy 1 Crime 0 Documentary 0 Drama 0 Fantasy 0 Film-Noir 0 Horror 0 Musical 0 Mystery 0 Romance 0 Sci-Fi 0 Thriller 0 War 0 Western 0 Name: 242, dtype: object
user42=individual_ratings[individual_ratings["user_id"]==42]
user42
user_id | item_id | rating | timestamp | |
---|---|---|---|---|
58 | 42 | 423 | 5 | 1997-12-03 00:08:07 |
87 | 42 | 403 | 3 | 1997-12-03 00:24:44 |
111 | 42 | 96 | 5 | 1997-12-02 23:59:38 |
166 | 42 | 794 | 3 | 1997-12-03 00:20:25 |
310 | 42 | 546 | 3 | 1997-12-02 23:36:57 |
638 | 42 | 274 | 5 | 1997-12-02 23:36:57 |
659 | 42 | 588 | 5 | 1997-12-03 00:15:47 |
754 | 42 | 44 | 3 | 1997-12-03 00:22:28 |
778 | 42 | 1028 | 4 | 1997-12-02 23:41:12 |
871 | 42 | 625 | 3 | 1997-12-03 00:27:53 |
1119 | 42 | 98 | 4 | 1997-12-02 23:51:51 |
1245 | 42 | 953 | 2 | 1997-12-03 00:26:55 |
1656 | 42 | 685 | 4 | 1997-12-02 23:39:32 |
1761 | 42 | 176 | 3 | 1997-12-02 23:59:38 |
1864 | 42 | 195 | 5 | 1997-12-03 00:12:29 |
2179 | 42 | 185 | 4 | 1997-12-03 00:04:09 |
2290 | 42 | 69 | 4 | 1997-12-03 00:02:55 |
2394 | 42 | 684 | 4 | 1997-12-03 00:14:53 |
2431 | 42 | 603 | 4 | 1997-12-03 00:05:02 |
2613 | 42 | 1041 | 4 | 1997-12-03 00:31:00 |
2809 | 42 | 121 | 4 | 1997-12-03 00:56:18 |
2833 | 42 | 606 | 3 | 1997-12-03 00:05:38 |
2863 | 42 | 456 | 3 | 1997-12-02 23:41:53 |
2979 | 42 | 506 | 3 | 1997-12-03 00:26:00 |
3060 | 42 | 143 | 4 | 1997-12-03 00:17:09 |
3162 | 42 | 746 | 3 | 1997-12-03 00:17:59 |
3480 | 42 | 48 | 5 | 1997-12-03 00:10:21 |
3542 | 42 | 999 | 4 | 1997-12-03 00:29:42 |
3601 | 42 | 102 | 5 | 1997-12-03 00:27:53 |
3824 | 42 | 210 | 5 | 1997-12-03 00:23:53 |
... | ... | ... | ... | ... |
59045 | 42 | 1046 | 3 | 1997-12-03 00:26:00 |
60647 | 42 | 97 | 3 | 1997-12-03 00:05:02 |
61040 | 42 | 559 | 2 | 1997-12-03 00:34:31 |
61695 | 42 | 86 | 3 | 1997-12-03 00:11:20 |
62662 | 42 | 71 | 4 | 1997-12-03 00:17:09 |
63521 | 42 | 941 | 4 | 1997-12-03 00:31:00 |
67740 | 42 | 655 | 3 | 1997-12-03 00:07:22 |
68778 | 42 | 969 | 5 | 1997-12-03 00:08:07 |
69604 | 42 | 132 | 5 | 1997-12-03 00:05:02 |
70257 | 42 | 595 | 1 | 1997-12-02 23:49:42 |
70653 | 42 | 1048 | 1 | 1997-12-02 23:43:40 |
71380 | 42 | 826 | 3 | 1997-12-02 23:46:59 |
73843 | 42 | 111 | 1 | 1997-12-02 23:38:51 |
74673 | 42 | 1050 | 3 | 1997-12-03 00:05:38 |
76940 | 42 | 141 | 3 | 1997-12-03 00:30:59 |
77201 | 42 | 181 | 5 | 1997-12-03 00:01:31 |
79562 | 42 | 174 | 5 | 1997-12-02 23:51:51 |
79923 | 42 | 73 | 4 | 1997-12-03 00:21:24 |
82241 | 42 | 168 | 3 | 1997-12-03 00:09:33 |
84817 | 42 | 2 | 5 | 1997-12-03 00:34:31 |
85776 | 42 | 658 | 2 | 1997-12-03 00:05:02 |
86538 | 42 | 755 | 4 | 1997-12-03 00:20:25 |
86768 | 42 | 282 | 4 | 1997-12-02 23:34:37 |
87394 | 42 | 136 | 4 | 1997-12-03 00:02:09 |
88397 | 42 | 735 | 4 | 1997-12-03 00:22:28 |
89527 | 42 | 411 | 4 | 1997-12-02 23:45:17 |
93817 | 42 | 433 | 2 | 1997-12-03 00:26:00 |
94791 | 42 | 87 | 4 | 1997-12-03 00:06:16 |
97557 | 42 | 591 | 4 | 1997-12-03 00:48:58 |
98433 | 42 | 103 | 3 | 1997-12-02 23:42:42 |
183 rows × 4 columns
users.ix[42]
age 30 gender M occupation administrator zip_code 17870 Name: 42, dtype: object
user42["rating"].mean()
3.726775956284153
user42["rating"].hist()
<matplotlib.axes._subplots.AxesSubplot at 0x7f37967fd910>
users
age | gender | occupation | zip_code | |
---|---|---|---|---|
user_id | ||||
1 | 24 | M | technician | 85711 |
2 | 53 | F | other | 94043 |
3 | 23 | M | writer | 32067 |
4 | 24 | M | technician | 43537 |
5 | 33 | F | other | 15213 |
6 | 42 | M | executive | 98101 |
7 | 57 | M | administrator | 91344 |
8 | 36 | M | administrator | 05201 |
9 | 29 | M | student | 01002 |
10 | 53 | M | lawyer | 90703 |
11 | 39 | F | other | 30329 |
12 | 28 | F | other | 06405 |
13 | 47 | M | educator | 29206 |
14 | 45 | M | scientist | 55106 |
15 | 49 | F | educator | 97301 |
16 | 21 | M | entertainment | 10309 |
17 | 30 | M | programmer | 06355 |
18 | 35 | F | other | 37212 |
19 | 40 | M | librarian | 02138 |
20 | 42 | F | homemaker | 95660 |
21 | 26 | M | writer | 30068 |
22 | 25 | M | writer | 40206 |
23 | 30 | F | artist | 48197 |
24 | 21 | F | artist | 94533 |
25 | 39 | M | engineer | 55107 |
26 | 49 | M | engineer | 21044 |
27 | 40 | F | librarian | 30030 |
28 | 32 | M | writer | 55369 |
29 | 41 | M | programmer | 94043 |
30 | 7 | M | student | 55436 |
... | ... | ... | ... | ... |
914 | 44 | F | other | 08105 |
915 | 50 | M | entertainment | 60614 |
916 | 27 | M | engineer | N2L5N |
917 | 22 | F | student | 20006 |
918 | 40 | M | scientist | 70116 |
919 | 25 | M | other | 14216 |
920 | 30 | F | artist | 90008 |
921 | 20 | F | student | 98801 |
922 | 29 | F | administrator | 21114 |
923 | 21 | M | student | E2E3R |
924 | 29 | M | other | 11753 |
925 | 18 | F | salesman | 49036 |
926 | 49 | M | entertainment | 01701 |
927 | 23 | M | programmer | 55428 |
928 | 21 | M | student | 55408 |
929 | 44 | M | scientist | 53711 |
930 | 28 | F | scientist | 07310 |
931 | 60 | M | educator | 33556 |
932 | 58 | M | educator | 06437 |
933 | 28 | M | student | 48105 |
934 | 61 | M | engineer | 22902 |
935 | 42 | M | doctor | 66221 |
936 | 24 | M | other | 32789 |
937 | 48 | M | educator | 98072 |
938 | 38 | F | technician | 55038 |
939 | 26 | F | student | 33319 |
940 | 32 | M | administrator | 02215 |
941 | 20 | M | student | 97229 |
942 | 48 | F | librarian | 78209 |
943 | 22 | M | student | 77841 |
943 rows × 4 columns
users.groupby(by=["occupation", "gender"]).mean()
age | ||
---|---|---|
occupation | gender | |
administrator | F | 40.638889 |
M | 37.162791 | |
artist | F | 30.307692 |
M | 32.333333 | |
doctor | M | 43.571429 |
educator | F | 39.115385 |
M | 43.101449 | |
engineer | F | 29.500000 |
M | 36.600000 | |
entertainment | F | 31.000000 |
M | 29.000000 | |
executive | F | 44.000000 |
M | 38.172414 | |
healthcare | F | 39.818182 |
M | 45.400000 | |
homemaker | F | 34.166667 |
M | 23.000000 | |
lawyer | F | 39.500000 |
M | 36.200000 | |
librarian | F | 40.000000 |
M | 40.000000 | |
marketing | F | 37.200000 |
M | 37.875000 | |
none | F | 36.500000 |
M | 18.600000 | |
other | F | 35.472222 |
M | 34.028986 | |
programmer | F | 32.166667 |
M | 33.216667 | |
retired | F | 70.000000 |
M | 62.538462 | |
salesman | F | 27.000000 |
M | 38.555556 | |
scientist | F | 28.333333 |
M | 36.321429 | |
student | F | 20.750000 |
M | 22.669118 | |
technician | F | 38.000000 |
M | 32.961538 | |
writer | F | 37.631579 |
M | 35.346154 |
individual_ratings.head()
user_id | item_id | rating | timestamp | |
---|---|---|---|---|
0 | 196 | 242 | 3 | 1997-12-04 15:55:49 |
1 | 186 | 302 | 3 | 1998-04-04 19:22:22 |
2 | 22 | 377 | 1 | 1997-11-07 07:18:36 |
3 | 244 | 51 | 2 | 1997-11-27 05:02:03 |
4 | 166 | 346 | 1 | 1998-02-02 05:33:16 |
ratings=individual_ratings.pivot(index="user_id", columns="item_id", values="rating")
ratings
item_id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 1673 | 1674 | 1675 | 1676 | 1677 | 1678 | 1679 | 1680 | 1681 | 1682 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
user_id | |||||||||||||||||||||
1 | 5 | 3 | 4 | 3 | 3 | 5 | 4 | 1 | 5 | 3 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | 4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
5 | 4 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
6 | 4 | NaN | NaN | NaN | NaN | NaN | 2 | 4 | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
7 | NaN | NaN | NaN | 5 | NaN | NaN | 5 | 5 | 5 | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
8 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
9 | NaN | NaN | NaN | NaN | NaN | 5 | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
10 | 4 | NaN | NaN | 4 | NaN | NaN | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
11 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
12 | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
13 | 3 | 3 | NaN | 5 | 1 | NaN | 2 | 4 | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
14 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
15 | 1 | NaN | NaN | NaN | NaN | NaN | 1 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
16 | 5 | NaN | NaN | 5 | NaN | NaN | 5 | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
17 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
18 | 5 | NaN | NaN | 3 | NaN | 5 | NaN | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
19 | NaN | NaN | NaN | 4 | NaN | NaN | NaN | 5 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
20 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
21 | 5 | NaN | NaN | NaN | 2 | NaN | 5 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
22 | NaN | 2 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
23 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
24 | NaN | NaN | NaN | NaN | NaN | NaN | 4 | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
25 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
26 | 3 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
27 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
28 | NaN | NaN | NaN | NaN | 3 | NaN | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
29 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
30 | NaN | 3 | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
914 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
915 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
916 | 4 | 3 | 3 | 4 | 3 | NaN | 4 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3 |
917 | 3 | NaN | 1 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
918 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
919 | 4 | NaN | NaN | 1 | 4 | NaN | 3 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
920 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
921 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
922 | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
923 | 3 | NaN | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
924 | 5 | 3 | NaN | NaN | NaN | 4 | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
925 | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
926 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
927 | 5 | NaN | NaN | NaN | NaN | NaN | 3 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
928 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
929 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
930 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
931 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
932 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
933 | 3 | NaN | NaN | 3 | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
934 | 2 | 4 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
935 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
936 | 4 | NaN | 4 | NaN | NaN | 5 | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
937 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
938 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
939 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
940 | NaN | NaN | NaN | 2 | NaN | NaN | 4 | 5 | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
941 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
942 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 rows × 1682 columns
ratings.mean(axis=0)
item_id 1 3.878319 2 3.206107 3 3.033333 4 3.550239 5 3.302326 6 3.576923 7 3.798469 8 3.995434 9 3.896321 10 3.831461 11 3.847458 12 4.385768 13 3.418478 14 3.967213 15 3.778157 16 3.205128 17 3.119565 18 2.800000 19 3.956522 20 3.416667 21 2.761905 22 4.151515 23 4.120879 24 3.448276 25 3.443686 26 3.452055 27 3.105263 28 3.931159 29 2.666667 30 3.945946 ... 1653 5.000000 1654 1.000000 1655 2.000000 1656 3.500000 1657 3.000000 1658 3.000000 1659 1.000000 1660 2.000000 1661 1.000000 1662 2.500000 1663 2.000000 1664 3.250000 1665 2.000000 1666 2.000000 1667 3.000000 1668 3.000000 1669 2.000000 1670 3.000000 1671 1.000000 1672 2.000000 1673 3.000000 1674 4.000000 1675 3.000000 1676 2.000000 1677 3.000000 1678 1.000000 1679 3.000000 1680 2.000000 1681 3.000000 1682 3.000000 dtype: float64
ratings.mean(axis=1)
user_id 1 3.610294 2 3.709677 3 2.796296 4 4.333333 5 2.874286 6 3.635071 7 3.965261 8 3.796610 9 4.272727 10 4.206522 11 3.464088 12 4.392157 13 3.097484 14 4.091837 15 2.875000 16 4.328571 17 3.035714 18 3.880866 19 3.550000 20 3.104167 21 2.670391 22 3.351562 23 3.635762 24 4.323529 25 4.051282 26 2.943925 27 3.240000 28 3.721519 29 3.647059 30 3.767442 ... 914 3.086957 915 3.115385 916 3.365931 917 3.542857 918 3.349515 919 3.470046 920 3.230769 921 3.272727 922 3.370079 923 4.148649 924 3.756098 925 3.125000 926 3.300000 927 3.691667 928 4.687500 929 3.693878 930 2.968254 931 3.721311 932 3.966805 933 2.646739 934 3.701149 935 3.923077 936 3.746479 937 3.375000 938 3.268519 939 4.265306 940 3.457944 941 4.045455 942 4.265823 943 3.410714 dtype: float64
ratings.count(0)
item_id 1 452 2 131 3 90 4 209 5 86 6 26 7 392 8 219 9 299 10 89 11 236 12 267 13 184 14 183 15 293 16 39 17 92 18 10 19 69 20 72 21 84 22 297 23 182 24 174 25 293 26 73 27 57 28 276 29 114 30 37 ... 1653 1 1654 1 1655 1 1656 2 1657 1 1658 3 1659 1 1660 1 1661 1 1662 2 1663 1 1664 4 1665 1 1666 1 1667 1 1668 1 1669 1 1670 1 1671 1 1672 2 1673 1 1674 1 1675 1 1676 1 1677 1 1678 1 1679 1 1680 1 1681 1 1682 1 dtype: int64
ratings.count(1)
user_id 1 272 2 62 3 54 4 24 5 175 6 211 7 403 8 59 9 22 10 184 11 181 12 51 13 636 14 98 15 104 16 140 17 28 18 277 19 20 20 48 21 179 22 128 23 151 24 68 25 78 26 107 27 25 28 79 29 34 30 43 ... 914 23 915 26 916 317 917 35 918 103 919 217 920 26 921 110 922 127 923 74 924 82 925 32 926 20 927 120 928 32 929 49 930 63 931 61 932 241 933 184 934 174 935 39 936 142 937 40 938 108 939 49 940 107 941 22 942 79 943 168 dtype: int64
ratings.describe()
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 1673 | 1674 | 1675 | 1676 | 1677 | 1678 | 1679 | 1680 | 1681 | 1682 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 452.000000 | 131.000000 | 90.000000 | 209.000000 | 86.000000 | 26.000000 | 392.000000 | 219.000000 | 299.000000 | 89.000000 | ... | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
mean | 3.878319 | 3.206107 | 3.033333 | 3.550239 | 3.302326 | 3.576923 | 3.798469 | 3.995434 | 3.896321 | 3.831461 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
std | 0.927897 | 0.966497 | 1.212760 | 0.965069 | 0.946446 | 1.301478 | 0.982037 | 1.002281 | 1.042368 | 1.013948 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
min | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
25% | 3.000000 | 3.000000 | 2.000000 | 3.000000 | 3.000000 | 3.000000 | 3.000000 | 3.000000 | 3.000000 | 3.000000 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
50% | 4.000000 | 3.000000 | 3.000000 | 4.000000 | 3.000000 | 4.000000 | 4.000000 | 4.000000 | 4.000000 | 4.000000 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
75% | 5.000000 | 4.000000 | 4.000000 | 4.000000 | 4.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
max | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | ... | 3 | 4 | 3 | 2 | 3 | 1 | 3 | 2 | 3 | 3 |
8 rows × 1682 columns
the_non_crap HINT: use ratings.mean(axis=0)
the_non_crap=ratings.mean(axis=0)>4
the_non_crap
item_id 1 False 2 False 3 False 4 False 5 False 6 False 7 False 8 False 9 False 10 False 11 False 12 True 13 False 14 False 15 False 16 False 17 False 18 False 19 False 20 False 21 False 22 True 23 True 24 False 25 False 26 False 27 False 28 False 29 False 30 False ... 1653 True 1654 False 1655 False 1656 False 1657 False 1658 False 1659 False 1660 False 1661 False 1662 False 1663 False 1664 False 1665 False 1666 False 1667 False 1668 False 1669 False 1670 False 1671 False 1672 False 1673 False 1674 False 1675 False 1676 False 1677 False 1678 False 1679 False 1680 False 1681 False 1682 False dtype: bool
ratings[the_non_crap]
/home/mljones/anaconda/lib/python2.7/site-packages/pandas/core/frame.py:1825: UserWarning: Boolean Series key will be reindexed to match DataFrame index. "DataFrame index.", UserWarning)
item_id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 1673 | 1674 | 1675 | 1676 | 1677 | 1678 | 1679 | 1680 | 1681 | 1682 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
user_id | |||||||||||||||||||||
12 | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
22 | NaN | 2 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
23 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
45 | 5 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
48 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
50 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
56 | 4 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
59 | 2 | NaN | 4 | 4 | NaN | NaN | 4 | NaN | 4 | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
60 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | 3 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
64 | 4 | 3 | NaN | 3 | NaN | NaN | 4 | 4 | 4 | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
79 | 4 | NaN | NaN | NaN | NaN | 4 | 5 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
83 | 4 | 4 | NaN | 2 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
89 | 5 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
96 | 5 | NaN | NaN | NaN | NaN | NaN | 5 | 5 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
98 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
100 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
113 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
114 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
119 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
124 | 3 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
127 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
132 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
134 | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
136 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
165 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
166 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
168 | 5 | NaN | NaN | NaN | NaN | NaN | 1 | NaN | 1 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
169 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
170 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
172 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
511 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
513 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
515 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
519 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
520 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
524 | NaN | NaN | NaN | 4 | NaN | 5 | 2 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
525 | 4 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
527 | NaN | NaN | NaN | 2 | NaN | NaN | 5 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
528 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
530 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
589 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
604 | NaN | NaN | NaN | NaN | 2 | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
606 | 5 | NaN | 5 | NaN | NaN | NaN | 4 | 2 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
611 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
613 | 4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
615 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
633 | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
641 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
647 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
648 | 5 | 4 | NaN | 1 | 4 | NaN | 3 | NaN | 1 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
651 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
654 | 4 | NaN | 3 | 4 | NaN | NaN | NaN | 5 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
657 | 3 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
659 | NaN | NaN | NaN | 3 | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
661 | 5 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
694 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
709 | 4 | 4 | NaN | 3 | 4 | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
814 | NaN | NaN | NaN | NaN | 3 | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
923 | 3 | NaN | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
103 rows × 1682 columns
ratings.loc[:, the_non_crap]
item_id | 12 | 22 | 23 | 45 | 48 | 50 | 56 | 59 | 60 | 64 | ... | 1449 | 1467 | 1500 | 1524 | 1536 | 1594 | 1599 | 1639 | 1642 | 1653 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
user_id | |||||||||||||||||||||
1 | 5 | 4 | 4 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
5 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
6 | 4 | 3 | 4 | NaN | NaN | 4 | 4 | 5 | NaN | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
7 | 5 | 5 | 3 | NaN | NaN | 5 | 5 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
8 | NaN | 5 | NaN | NaN | NaN | 5 | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
9 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
10 | 5 | 5 | 5 | NaN | 4 | 5 | 5 | 4 | 3 | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
11 | 2 | 4 | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
12 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
13 | 5 | 4 | 5 | 3 | 5 | 5 | 5 | 4 | 4 | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
14 | 5 | 3 | 5 | NaN | NaN | 5 | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
15 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
16 | 5 | 5 | NaN | NaN | NaN | NaN | 5 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
17 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
18 | 5 | 5 | 4 | 5 | 4 | 4 | 5 | 4 | 4 | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
19 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
20 | NaN | 5 | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
21 | NaN | NaN | NaN | NaN | NaN | 3 | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
22 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
23 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
24 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
25 | NaN | NaN | 4 | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
26 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
27 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
28 | 4 | NaN | NaN | NaN | NaN | 4 | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
29 | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
30 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
914 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
915 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
916 | 4 | 4 | 4 | NaN | 5 | 5 | 5 | NaN | 4 | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
917 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
918 | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | NaN | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN |
919 | 3 | 5 | 3 | NaN | NaN | 3 | NaN | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
920 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
921 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
922 | NaN | 5 | NaN | NaN | NaN | 5 | 1 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
923 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
924 | 4 | NaN | NaN | NaN | NaN | 5 | 3 | NaN | NaN | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
925 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
926 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
927 | NaN | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
928 | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
929 | 4 | 5 | 3 | NaN | NaN | 4 | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
930 | NaN | NaN | NaN | 4 | NaN | 2 | NaN | NaN | NaN | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
931 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
932 | NaN | NaN | NaN | 5 | NaN | NaN | 4 | NaN | NaN | 2 | ... | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
933 | 4 | 5 | NaN | NaN | NaN | 4 | 5 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
934 | NaN | NaN | NaN | NaN | NaN | 5 | 5 | NaN | NaN | NaN | ... | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
935 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
936 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
937 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
938 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
939 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
940 | 4 | NaN | NaN | NaN | NaN | 4 | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
941 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
942 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 | 5 | 4 | 4 | NaN | NaN | 4 | 5 | NaN | NaN | 5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 rows × 132 columns
<2 >4
haters=ratings.mean(axis=1)<2
haters
user_id 1 False 2 False 3 False 4 False 5 False 6 False 7 False 8 False 9 False 10 False 11 False 12 False 13 False 14 False 15 False 16 False 17 False 18 False 19 False 20 False 21 False 22 False 23 False 24 False 25 False 26 False 27 False 28 False 29 False 30 False ... 914 False 915 False 916 False 917 False 918 False 919 False 920 False 921 False 922 False 923 False 924 False 925 False 926 False 927 False 928 False 929 False 930 False 931 False 932 False 933 False 934 False 935 False 936 False 937 False 938 False 939 False 940 False 941 False 942 False 943 False dtype: bool
suckers=ratings.mean(1)>4
suckers
user_id 1 False 2 False 3 False 4 True 5 False 6 False 7 False 8 False 9 True 10 True 11 False 12 True 13 False 14 True 15 False 16 True 17 False 18 False 19 False 20 False 21 False 22 False 23 False 24 True 25 True 26 False 27 False 28 False 29 False 30 False ... 914 False 915 False 916 False 917 False 918 False 919 False 920 False 921 False 922 False 923 True 924 False 925 False 926 False 927 False 928 True 929 False 930 False 931 False 932 False 933 False 934 False 935 False 936 False 937 False 938 False 939 True 940 False 941 True 942 True 943 False dtype: bool
users.ix[4]
age 24 gender M occupation technician zip_code 43537 Name: 4, dtype: object
users[suckers]
age | gender | occupation | zip_code | |
---|---|---|---|---|
user_id | ||||
4 | 24 | M | technician | 43537 |
9 | 29 | M | student | 01002 |
10 | 53 | M | lawyer | 90703 |
12 | 28 | F | other | 06405 |
14 | 45 | M | scientist | 55106 |
16 | 21 | M | entertainment | 10309 |
24 | 21 | F | artist | 94533 |
25 | 39 | M | engineer | 55107 |
34 | 38 | F | administrator | 42141 |
46 | 27 | F | marketing | 46538 |
52 | 18 | F | student | 55105 |
60 | 50 | M | healthcare | 06472 |
89 | 43 | F | administrator | 68106 |
90 | 60 | M | educator | 78155 |
96 | 25 | F | artist | 75206 |
97 | 43 | M | artist | 98006 |
118 | 21 | M | administrator | 90210 |
127 | 33 | M | none | 73439 |
131 | 59 | F | administrator | 15237 |
136 | 51 | M | other | 97365 |
137 | 50 | M | educator | 84408 |
138 | 46 | M | doctor | 53211 |
147 | 40 | F | librarian | 02143 |
152 | 33 | F | educator | 68767 |
164 | 47 | M | healthcare | 80123 |
173 | 56 | M | other | 22306 |
185 | 53 | F | librarian | 97403 |
187 | 26 | M | educator | 16801 |
200 | 40 | M | programmer | 93402 |
210 | 39 | M | engineer | 03060 |
... | ... | ... | ... | ... |
770 | 28 | M | student | 14216 |
777 | 63 | M | programmer | 01810 |
794 | 32 | M | educator | 57197 |
801 | 22 | M | writer | 92154 |
808 | 45 | M | salesman | 90016 |
810 | 55 | F | other | 80526 |
811 | 40 | F | educator | 73013 |
819 | 59 | M | administrator | 40205 |
821 | 37 | M | engineer | 77845 |
823 | 27 | M | artist | 50322 |
835 | 44 | F | executive | 11577 |
838 | 23 | M | student | 01375 |
840 | 39 | M | artist | 55406 |
848 | 46 | M | engineer | 02146 |
849 | 15 | F | student | 25652 |
850 | 34 | M | technician | 78390 |
862 | 25 | M | executive | 13820 |
867 | 24 | M | scientist | 92507 |
875 | 24 | F | student | 35802 |
876 | 41 | M | other | 20902 |
882 | 35 | M | engineer | 40503 |
888 | 41 | M | scientist | 17036 |
891 | 51 | F | administrator | 03062 |
907 | 25 | F | other | 80526 |
909 | 50 | F | educator | 53171 |
923 | 21 | M | student | E2E3R |
928 | 21 | M | student | 55408 |
939 | 26 | F | student | 33319 |
941 | 20 | M | student | 97229 |
942 | 48 | F | librarian | 78209 |
147 rows × 4 columns
ratings.mean(0).order()
item_id 1364 1.000000 1561 1.000000 1559 1.000000 1557 1.000000 1601 1.000000 437 1.000000 1373 1.000000 1548 1.000000 1374 1.000000 1546 1.000000 439 1.000000 1618 1.000000 1621 1.000000 1363 1.000000 830 1.000000 1626 1.000000 1568 1.000000 852 1.000000 1562 1.000000 858 1.000000 1563 1.000000 1586 1.000000 1569 1.000000 1570 1.000000 1571 1.000000 1572 1.000000 1566 1.000000 1574 1.000000 1575 1.000000 1576 1.000000 ... 963 4.292683 134 4.292929 1191 4.333333 1639 4.333333 513 4.333333 178 4.344000 50 4.358491 12 4.385768 603 4.387560 64 4.445230 114 4.447761 483 4.456790 169 4.466102 318 4.466443 408 4.491071 1594 4.500000 1398 4.500000 119 4.500000 1642 4.500000 1449 4.625000 1536 5.000000 1500 5.000000 1189 5.000000 1201 5.000000 1599 5.000000 1122 5.000000 814 5.000000 1653 5.000000 1467 5.000000 1293 5.000000 dtype: float64
ratings.mean(0).order(ascending=False)
item_id 1293 5.000000 1467 5.000000 1653 5.000000 814 5.000000 1122 5.000000 1599 5.000000 1201 5.000000 1189 5.000000 1500 5.000000 1536 5.000000 1449 4.625000 1642 4.500000 119 4.500000 1398 4.500000 1594 4.500000 408 4.491071 318 4.466443 169 4.466102 483 4.456790 114 4.447761 64 4.445230 603 4.387560 12 4.385768 50 4.358491 178 4.344000 513 4.333333 1639 4.333333 1191 4.333333 134 4.292929 963 4.292683 ... 1576 1.000000 1575 1.000000 1574 1.000000 1566 1.000000 1572 1.000000 1571 1.000000 1570 1.000000 1569 1.000000 1586 1.000000 1563 1.000000 858 1.000000 1562 1.000000 852 1.000000 1568 1.000000 1626 1.000000 830 1.000000 1363 1.000000 1621 1.000000 1618 1.000000 439 1.000000 1546 1.000000 1374 1.000000 1548 1.000000 1373 1.000000 437 1.000000 1601 1.000000 1557 1.000000 1559 1.000000 1561 1.000000 1364 1.000000 dtype: float64
topten=ratings.mean(0).order(ascending=False)[0:9]
topten
item_id 1293 5 1467 5 1653 5 814 5 1122 5 1599 5 1201 5 1189 5 1500 5 dtype: float64
topten.index
Int64Index([1293, 1467, 1653, 814, 1122, 1599, 1201, 1189, 1500], dtype='int64', name=u'item_id')
films.ix[topten.index]
movie id | movie_title | release_date | video_release_date | IMDb_URL | unknown | Action | Adventure | Animation | Children's | ... | Fantasy | Film-Noir | Horror | Musical | Mystery | Romance | Sci-Fi | Thriller | War | Western | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
item_id | |||||||||||||||||||||
1293 | 1294 | Ayn Rand: A Sense of Life (1997) | 13-Feb-1998 | NaN | http://us.imdb.com/Title?Ayn+Rand%3A+A+Sense+o... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1467 | 1468 | Cure, The (1995) | 01-Jan-1995 | NaN | http://us.imdb.com/M/title-exact?Cure,%20The%2... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1653 | 1654 | Chairman of the Board (1998) | 01-Jan-1998 | NaN | http://us.imdb.com/Title?Chairman+of+the+Board... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
814 | 815 | One Fine Day (1996) | 30-Nov-1996 | NaN | http://us.imdb.com/M/title-exact?One%20Fine%20... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1122 | 1123 | Last Time I Saw Paris, The (1954) | 01-Jan-1954 | NaN | http://us.imdb.com/M/title-exact?Last%20Time%2... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1599 | 1600 | Guantanamera (1994) | 16-May-1997 | NaN | http://us.imdb.com/M/title-exact?Guantanamera%... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1201 | 1202 | Maybe, Maybe Not (Bewegte Mann, Der) (1994) | 19-Jul-1996 | NaN | http://us.imdb.com/M/title-exact?Bewegte%20Man... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1189 | 1190 | That Old Feeling (1997) | 04-Apr-1997 | NaN | http://us.imdb.com/M/title-exact?That%20Old%20... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1500 | 1501 | Prisoner of the Mountains (Kavkazsky Plennik) ... | 31-Jan-1997 | NaN | http://us.imdb.com/M/title-exact?Kavkazsky%20P... | 0 | 0 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
9 rows × 24 columns
ratings
item_id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 1673 | 1674 | 1675 | 1676 | 1677 | 1678 | 1679 | 1680 | 1681 | 1682 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
user_id | |||||||||||||||||||||
1 | 5 | 3 | 4 | 3 | 3 | 5 | 4 | 1 | 5 | 3 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | 4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
5 | 4 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
6 | 4 | NaN | NaN | NaN | NaN | NaN | 2 | 4 | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
7 | NaN | NaN | NaN | 5 | NaN | NaN | 5 | 5 | 5 | 4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
8 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
9 | NaN | NaN | NaN | NaN | NaN | 5 | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
10 | 4 | NaN | NaN | 4 | NaN | NaN | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
11 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
12 | NaN | NaN | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
13 | 3 | 3 | NaN | 5 | 1 | NaN | 2 | 4 | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
14 | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
15 | 1 | NaN | NaN | NaN | NaN | NaN | 1 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
16 | 5 | NaN | NaN | 5 | NaN | NaN | 5 | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
17 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
18 | 5 | NaN | NaN | 3 | NaN | 5 | NaN | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
19 | NaN | NaN | NaN | 4 | NaN | NaN | NaN | 5 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
20 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
21 | 5 | NaN | NaN | NaN | 2 | NaN | 5 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
22 | NaN | 2 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
23 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
24 | NaN | NaN | NaN | NaN | NaN | NaN | 4 | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
25 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
26 | 3 | NaN | NaN | NaN | NaN | NaN | 3 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
27 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
28 | NaN | NaN | NaN | NaN | 3 | NaN | 5 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
29 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
30 | NaN | 3 | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
914 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
915 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
916 | 4 | 3 | 3 | 4 | 3 | NaN | 4 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3 |
917 | 3 | NaN | 1 | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
918 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
919 | 4 | NaN | NaN | 1 | 4 | NaN | 3 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
920 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
921 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
922 | 5 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
923 | 3 | NaN | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
924 | 5 | 3 | NaN | NaN | NaN | 4 | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
925 | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
926 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
927 | 5 | NaN | NaN | NaN | NaN | NaN | 3 | 4 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
928 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
929 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
930 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
931 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
932 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
933 | 3 | NaN | NaN | 3 | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
934 | 2 | 4 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
935 | 3 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
936 | 4 | NaN | 4 | NaN | NaN | 5 | 4 | NaN | 4 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
937 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
938 | 4 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
939 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
940 | NaN | NaN | NaN | 2 | NaN | NaN | 4 | 5 | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
941 | 5 | NaN | NaN | NaN | NaN | NaN | 4 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
942 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 | NaN | 5 | NaN | NaN | NaN | NaN | NaN | NaN | 3 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
943 rows × 1682 columns
You asked about reindexing the films so that it is correct
The method is indeed .reindex(index="movie id")