Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
250 changes: 250 additions & 0 deletions module1-solutions/buddymove_holidayiq.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
User Id,Sports,Religious,Nature,Theatre,Shopping,Picnic
User 1,2,77,79,69,68,95
User 2,2,62,76,76,69,68
User 3,2,50,97,87,50,75
User 4,2,68,77,95,76,61
User 5,2,98,54,59,95,86
User 6,3,52,109,93,52,76
User 7,3,64,85,82,73,69
User 8,3,54,107,92,54,76
User 9,3,64,108,64,54,93
User 10,3,86,76,74,74,103
User 11,3,107,54,64,103,94
User 12,3,103,60,63,102,93
User 13,3,64,82,82,75,69
User 14,3,93,54,74,103,69
User 15,3,63,82,81,78,69
User 16,3,82,79,75,75,82
User 17,5,59,131,103,54,86
User 18,5,56,124,108,56,85
User 19,4,85,67,111,65,72
User 20,5,114,83,65,114,102
User 21,4,93,82,79,79,90
User 22,4,105,52,75,113,78
User 23,5,69,118,74,66,101
User 24,4,71,123,64,59,102
User 25,5,88,94,81,79,91
User 26,5,83,99,89,74,91
User 27,5,69,133,74,54,101
User 28,5,128,53,74,117,105
User 29,5,74,123,69,61,101
User 30,5,79,93,118,90,72
User 31,4,51,115,110,51,84
User 32,5,69,93,93,81,79
User 33,4,100,53,86,112,78
User 34,4,88,69,108,71,77
User 35,4,93,84,75,84,112
User 36,4,79,86,110,93,73
User 37,4,87,72,112,63,71
User 38,5,65,128,79,56,101
User 39,4,91,66,110,69,71
User 40,4,93,79,74,92,90
User 41,5,59,118,108,63,85
User 42,5,65,103,90,80,79
User 43,4,87,89,76,89,111
User 44,4,93,85,79,85,91
User 45,5,93,94,79,79,113
User 46,5,74,130,74,53,101
User 47,4,118,59,69,119,97
User 48,4,101,61,76,113,78
User 49,5,88,99,79,83,114
User 50,4,74,87,87,79,79
User 51,14,148,59,104,208,119
User 52,5,93,89,74,89,93
User 53,4,79,103,68,103,85
User 54,4,76,92,111,90,71
User 55,8,94,140,89,118,92
User 56,8,108,109,89,89,143
User 57,6,98,89,133,79,79
User 58,8,84,118,102,94,90
User 59,8,138,74,79,143,118
User 60,6,74,109,103,89,88
User 61,8,118,104,94,94,118
User 62,8,94,128,89,128,99
User 63,8,64,155,118,64,97
User 64,6,84,108,138,103,79
User 65,8,108,109,94,99,138
User 66,6,89,108,128,116,81
User 67,6,103,79,148,74,79
User 68,6,103,109,99,89,108
User 69,8,108,99,94,94,138
User 70,8,108,109,104,79,133
User 71,8,138,59,84,138,128
User 72,8,79,143,113,69,109
User 73,8,84,153,79,64,113
User 74,8,74,148,118,64,104
User 75,8,74,153,118,59,99
User 76,6,118,64,101,133,92
User 77,6,69,153,113,59,99
User 78,6,123,68,89,128,90
User 79,6,99,104,128,64,78
User 80,6,124,59,84,143,88
User 81,6,84,131,128,93,81
User 82,6,113,64,89,141,86
User 83,6,118,64,99,134,88
User 84,8,89,143,84,64,118
User 85,6,98,89,133,69,79
User 86,6,98,104,109,91,101
User 87,8,84,143,74,74,133
User 88,8,123,64,93,148,90
User 89,6,84,113,141,98,81
User 90,6,59,148,125,59,97
User 91,8,143,69,79,143,123
User 92,8,94,133,84,125,97
User 93,8,84,108,113,93,90
User 94,8,84,138,89,69,123
User 95,6,84,108,133,98,81
User 96,6,99,84,138,69,83
User 97,8,113,94,84,109,128
User 98,6,148,64,74,138,128
User 99,8,84,138,113,64,114
User 100,6,98,79,138,79,79
User 101,8,133,84,84,133,118
User 102,6,79,113,106,87,88
User 103,8,113,104,84,94,148
User 104,6,69,138,113,79,99
User 105,6,83,103,98,99,90
User 106,8,69,143,123,71,97
User 107,8,118,94,99,99,143
User 108,6,74,133,99,74,113
User 109,12,115,94,163,109,92
User 110,12,123,124,109,114,168
User 111,12,94,133,157,133,95
User 112,12,104,123,163,128,89
User 113,14,99,198,89,74,153
User 114,14,113,148,99,148,110
User 115,14,94,163,99,94,153
User 116,12,133,104,119,129,133
User 117,14,163,69,94,188,143
User 118,12,74,158,158,74,119
User 119,12,123,124,109,129,143
User 120,12,94,137,148,113,100
User 121,12,123,129,139,99,143
User 122,12,89,163,99,79,143
User 123,14,81,173,143,79,122
User 124,14,135,84,158,139,92
User 125,12,108,113,133,114,100
User 126,14,138,119,119,124,158
User 127,12,128,122,134,109,120
User 128,14,79,203,153,69,119
User 129,12,84,150,128,104,102
User 130,12,148,69,104,173,138
User 131,14,133,124,119,124,168
User 132,12,89,128,148,111,102
User 133,12,79,183,133,70,113
User 134,12,96,113,113,99,97
User 135,14,84,161,153,84,116
User 136,12,109,135,158,123,92
User 137,12,133,74,114,175,102
User 138,14,133,139,124,109,128
User 139,12,128,124,114,111,126
User 140,10,97,123,108,119,111
User 141,12,123,104,104,134,153
User 142,10,113,89,168,89,89
User 143,12,109,148,94,133,119
User 144,10,165,64,94,173,97
User 145,12,93,123,123,124,100
User 146,14,143,98,119,163,105
User 147,12,89,158,89,89,158
User 148,10,113,111,153,84,97
User 149,12,138,86,114,158,102
User 150,12,79,158,148,69,119
User 151,14,84,178,138,87,116
User 152,14,84,168,148,80,113
User 153,14,84,173,143,69,110
User 154,12,104,130,178,118,92
User 155,10,99,123,153,128,103
User 156,12,93,128,118,119,100
User 157,12,128,119,104,119,173
User 158,14,94,178,109,69,143
User 159,12,148,69,104,168,114
User 160,12,113,114,109,119,143
User 161,12,153,74,94,163,158
User 162,22,139,163,114,203,139
User 163,14,163,99,94,158,143
User 164,12,89,178,89,79,153
User 165,12,79,183,104,69,148
User 166,12,168,69,84,198,133
User 167,22,128,158,183,158,130
User 168,22,129,188,109,104,198
User 169,16,178,74,114,198,129
User 170,20,143,139,139,139,148
User 171,20,114,198,124,114,153
User 172,18,105,158,143,129,133
User 173,20,120,193,104,148,138
User 174,20,98,193,163,99,140
User 175,22,148,174,129,129,153
User 176,20,183,104,164,193,153
User 177,18,99,203,129,94,158
User 178,22,139,178,139,163,144
User 179,22,90,188,163,109,138
User 180,18,163,84,129,193,139
User 181,18,88,178,178,89,140
User 182,18,114,144,213,133,128
User 183,22,143,124,208,134,124
User 184,20,188,94,104,208,158
User 185,18,99,228,104,84,163
User 186,18,178,94,114,188,173
User 187,22,119,198,149,114,168
User 188,20,114,203,109,84,158
User 189,18,99,193,158,99,144
User 190,22,153,139,154,154,183
User 191,20,162,94,144,198,135
User 192,18,132,149,139,119,144
User 193,18,104,193,114,99,173
User 194,18,99,183,128,114,129
User 195,20,178,89,154,198,183
User 196,20,114,243,104,79,173
User 197,22,133,183,114,183,140
User 198,22,148,149,154,149,148
User 199,22,114,213,129,94,178
User 200,22,188,124,114,183,188
User 201,25,153,159,129,139,218
User 202,18,114,153,178,138,124
User 203,22,184,84,129,233,133
User 204,18,84,193,188,80,138
User 205,18,178,129,104,183,163
User 206,18,114,163,163,148,124
User 207,16,132,94,178,109,120
User 208,20,93,183,178,89,140
User 209,16,137,104,173,109,130
User 210,18,153,74,114,188,129
User 211,18,128,114,168,124,124
User 212,22,114,228,119,99,168
User 213,22,178,89,114,203,139
User 214,18,173,84,99,193,158
User 215,20,168,89,124,183,129
User 216,18,83,198,163,84,140
User 217,22,144,173,134,173,149
User 218,18,198,64,89,203,153
User 219,20,114,208,114,119,168
User 220,18,114,183,114,109,178
User 221,18,114,173,183,128,124
User 222,18,128,134,188,89,124
User 223,18,143,154,129,129,178
User 224,18,128,163,173,133,130
User 225,18,148,99,139,168,129
User 226,18,83,218,163,74,140
User 227,22,120,168,158,144,133
User 228,22,203,99,104,223,173
User 229,18,143,139,119,139,203
User 230,22,153,144,139,144,193
User 231,18,147,144,129,149,144
User 232,18,188,74,109,213,168
User 233,25,158,154,154,154,153
User 234,25,104,208,168,134,144
User 235,25,139,153,193,158,134
User 236,25,84,247,168,109,140
User 237,25,173,89,124,233,158
User 238,8,93,119,99,89,138
User 239,22,124,168,208,148,124
User 240,18,114,158,178,158,124
User 241,20,188,94,94,223,153
User 242,25,114,238,124,104,178
User 243,18,94,188,148,99,139
User 244,25,129,318,94,89,188
User 245,18,139,148,129,129,168
User 246,22,114,228,104,84,168
User 247,20,124,178,104,158,174
User 248,20,133,149,139,144,213
User 249,20,143,149,139,159,143
55 changes: 55 additions & 0 deletions module1-solutions/buddymove_holidayiq.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import pandas as pd
import sqlite3
import queries as q

data = pd.read_csv('buddymove_holidayiq.csv')
print(data.head())

DBASE2 = 'buddymove_holidayiq.sqlite3'

conn2 = sqlite3.connect(DBASE2)


def avg_category(category, cursor):
query = 'SELECT AVG(' + category +') from review'
cursor.execute(query)
return cursor.fetchall()[0][0]


try:
cursor2 = conn2.cursor()

except:
print('Cursor connection faile')

try:
cursor2.execute('DROP TABLE IF EXISTS review')

except:
print('ERROR encountered when dropping table')


try:
data.to_sql('review', conn2, if_exists='fail')

except ValueError:
print('Table already Exists: ',ValueError)

cursor2.execute(q.NUMBER_ROWS)
NUMBER_OF_ROWS = cursor2.fetchall()

cursor2.execute(q.NUMBER_OF_USERS)
USERS = cursor2.fetchall()[0][0]

AVG_SPORTS = avg_category('Sports', cursor=cursor2)
AVG_RELIGIOUS = avg_category('Religious', cursor=cursor2)
AVG_NATURE = avg_category('Nature', cursor=cursor2)
AVG_THEATRE = avg_category('Theatre', cursor=cursor2)
AVG_SHOPPING = avg_category('Shopping', cursor=cursor2)
AVG_PICNIC = avg_category('Picnic', cursor=cursor2)

print('Average Picnic Votes: ',AVG_PICNIC)

cursor2.execute('SELECT * FROM review limit 10')
collected = cursor2.fetchall()
print(collected)
Binary file added module1-solutions/buddymove_holidayiq.sqlite3
Binary file not shown.
25 changes: 25 additions & 0 deletions module1-solutions/queries.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@


TOTAL_CHARACTERS = "select count(*) from charactercreator_character"

TOTAL_ITEMS = "SELECT COUNT(*) FROM armory_item"

WEAPONS = "SELECT COUNT(*) FROM armory_weapon"

NON_WEAPONS = "select COUNT(*) from armory_item ai LEFT JOIN armory_weapon aw ON ai.item_id = aw.item_ptr_id WHERE item_ptr_id IS NULL"

CHARACTER_ITEMS = "SELECT COUNT(item_id) from charactercreator_character_inventory GROUP BY character_id limit 20"

CHARACTER_WEAPONS = "SELECT COUNT(item_id) FROM charactercreator_character_inventory cci JOIN armory_weapon aw on cci.item_id = aw.item_ptr_id GROUP BY character_id"

AVG_CHARACTER_ITEMS = "SELECT AVG(item_count) FROM ( \
SELECT count(item_id) item_count from charactercreator_character_inventory GROUP BY character_id)"

AVG_CHARACTER_WEAPONS = "SELECT AVG(item_count) FROM (SELECT COUNT(item_id) item_count \
FROM charactercreator_character_inventory cci JOIN armory_weapon aw on cci.item_id = aw.item_ptr_id GROUP BY character_id)"


NUMBER_ROWS = 'SELECT COUNT(*) FROM review'

NUMBER_OF_USERS = 'SELECT COUNT(*) FROM review where nature >= 100 and shopping >= 100'

Binary file added module1-solutions/rpg_db.sqlite3
Binary file not shown.
Loading