nfl_suspensions

来源:互联网 发布:win10安装ubuntu子系统 编辑:程序博客网 时间:2024/06/06 05:07

nfl_suspensions_data.csv looks like: NFL球员停赛数据。
数据

Unique Values

打开数据,去掉数据的第一行,将每年的停赛数据按年聚集存入到字典中。

import csvf = open("nfl_suspensions_data.csv")nfl_suspensions =  list(csv.reader(f))nfl_suspensions = nfl_suspensions[1:]years = {}for suspension in nfl_suspensions:    row_year = suspension[5]    if row_year in years:        years[row_year] = years[row_year] + 1    else:        years[row_year] = 1print(years)'''{'2001': 3, '2011': 13, '1989': 17, '2004': 6, '   ': 1, '2012': 45, '1997': 3, '1986': 1, '1998': 2, '2006': 11, '2000': 1, '2013': 40, '2008': 10, '2009': 10, '2010': 21, '1946': 1, '2002': 7, '1990': 3, '2005': 8, '2003': 9, '1995': 1, '1983': 1, '2014': 29, '1999': 5, '1993': 1, '1963': 1, '1994': 1, '2007': 17, '1947': 1}'''
  • 利用set数据类型获取独一无二的数据元素:
teams = [row[1] for row in nfl_suspensions]unique_teams = set(teams)print(unique_teams)games = [row[2] for row in nfl_suspensions]unique_games = set(games)print(unique_games)'''{'SF', 'TB', 'TEN', 'CLE', 'BUF', 'DET', 'HOU', 'CAR', 'OAK', 'FREE', 'WAS', 'MIN', 'NE', 'ATL', 'JAX', 'DAL', 'CHI', 'BAL', 'IND', 'SEA', 'MIA', 'GB', 'ARI', 'STL', 'NYJ', 'PHI', 'SD', 'NYG', 'PIT', 'CIN', 'LA', 'NO', 'KC', 'DEN'}{'Indef.', '10', '1', '36', '5', '32', '3', '14', '4', '2', '8', '16', '6', '20'}'''

Suspension Class

  • 创建一个Suspension (停赛)类,有四个属性。
class Suspension():    def __init__(self,row):        self.name = row[0]        self.team = row[1]        self.games = row[2]         self.year = row[3]third_suspension = Suspension(nfl_suspensions[2])
  • 扩展上面这个类:
    将字符型的year转换为Int型,并且构造了一个get_year函数。
class Suspension():    def __init__(self,row):        self.name = row[0]        self.team = row[1]        self.games = row[2]         try:            self.year = int(row[3])        except Exception:             self.year = 0    def get_year(self):        return(self.year)
0 0
原创粉丝点击