2017-09-22 36 views
0

Ich mache eine Jupyter Notebook einige Daten zu analysieren, die wie folgt aussieht:Jupyter Notebook - Python-Code

The Data I'm analyzing

ich diese Informationen haben, um herauszufinden:

The Questions

Diese ist das, was ich versucht habe, aber es funktioniert nicht und ich bin völlig am Verlust teil b.

# Import relevant packages/modules 
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
from scipy import stats 

# Import relevant csv data file 
data = pd.read_csv("C:/Users/Hanna/Desktop/Sheridan College/Statistics for Data Science/Assignment 1/MATH37198_Assignment1_Individual/IGN_game_ratings.csv") 

# Part a: Determine the z-score of "Super Mario Kart" and print out result 
superMarioKart_zscore = data[data['Game']=='Super Mario Kart'] ['Score'].stats.zscore() 
print("Z-score of Super Mario Kart: ", superMarioKart_zscore) 

# Part b: The top 20 (most common) platforms 

# Part c: The average score of all the Shooter games 
averageShooterScore = data[data['Group']=='Game']['Score'].mean() 
# Print output 
print("The average score of all the Shooter games is: ", averageShooterScore) 

# Part d: The top two platforms witht the most perfect scores (10) 

# Part e: The probability of a game randomly selected that is an RPG 
# First find the number of games in the list that is an RPG 
numOfRPGGames = 0 
for game in data['Game']: 
    if data['Genre'] == 'RPG': 
     numOfRPGGames += 1 
# Divide this by the total number of games to find the probablility of selecting one 
print("The probability of selecting a game that is an RPG is: ", numOFRPGGames/totalNumGames) 

# Part f: The probability of a game randomly selected with a score less than 5 
# First find the number of games in the list with a score less than 5 using a for loop: 
numScoresLessThan5 = 0 
for game in data['Game']: 
    if data['Score'] < 5: 
     numScoresLessThan5 += 1 
# Divide this by the total number of games to find the probablility of selecting one 
print("The probability of selecting a game with a score less than 5 is: ", numScoresLessThan5/totalNumGames) 
+2

Vielleicht möchten Sie diese Frage brechen in einzelne Fragen Sie wird wahrscheinlich bessere Antworten auf diese Weise bekommen. Sehen Sie sich den [MCVE] (https://stackoverflow.com/help/mcve) an, wenn Sie sich nicht bereits auf eine bestimmte Frage konzentriert haben, was Sie versucht haben, warum es nicht funktioniert und was Sie von der Ausgabe erwarten sein. – johnchase

Antwort

0

Pandas hat ausgezeichnete integrierte Funktionen für diese Art von Problemen. Hier ist ein Vorschlag zur Lösung von Teil b mit einigen Testdaten, die ich aus einer CSV importiert habe. Die test.csv Ich verwendete nur diese Felder aber funktioniert immer noch in Ihrem Fall die Spaltennamen zu ändern und den Import der neuen Datei

Sample CSV structure:

# Import relevant packages/modules 
import numpy as np 
import pandas as pd 

# Import a dummy csv data file 
data = pd.read_csv("./test.csv") 
# Visualize the file before the process 
print(data) 

# Extract the column you're interesting in counting 
initial_column = data['Name'] 

# Create object for receiving the output of the value_counts function 
count_object = pd.value_counts(initial_column) 

# Create an empty list for receiving the sorted values 
sorted_grouped_column = [] 

# You determine the number of items. In your exercise is 20. 
number_of_items = 3 
counter = 0 

for i in count_object.keys(): 
    if counter == number_of_items: 
     break 
    else: 
     sorted_grouped_column.append(i) 
     counter = counter + 1 

print(sorted_grouped_column)