nfelodcm 0.1.8__py3-none-any.whl → 0.1.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  from .assignments import (
2
- fastr_team_id_repl, penalty_formatting, desc_based_plays
2
+ fastr_team_id_repl, penalty_formatting, desc_based_plays,
3
+ score_clean
3
4
  )
4
5
 
5
6
  ## a dictionary that holds assignments and the columns they add ##
@@ -19,6 +20,10 @@ assignments = {
19
20
  ('rush_attempt_all', 'float32'),
20
21
  ('play_call', 'str'),
21
22
  ]
23
+ },
24
+ 'score_clean' : {
25
+ 'func' : score_clean,
26
+ 'new_columns' : []
22
27
  }
23
28
  }
24
29
 
@@ -0,0 +1,47 @@
1
+ import pandas as pd
2
+ import numpy
3
+
4
+ manual_clean_dict = {
5
+ "2009_17_IND_BUF": {
6
+ "home_score": 30,
7
+ "away_score": 7
8
+ },
9
+ "2013_07_CIN_DET": {
10
+ "home_score": 24,
11
+ "away_score": 27
12
+ },
13
+ "2015_06_ARI_PIT": {
14
+ "home_score": 25,
15
+ "away_score": 13
16
+ },
17
+ "2015_09_PHI_DAL": {
18
+ "home_score": 27,
19
+ "away_score": 33
20
+ },
21
+ "2015_15_KC_BAL": {
22
+ "home_score": 14,
23
+ "away_score": 34
24
+ },
25
+ "2016_01_MIN_TEN": {
26
+ "home_score": 16,
27
+ "away_score": 25
28
+ },
29
+ "2016_05_NE_CLE": {
30
+ "home_score": 13,
31
+ "away_score": 33
32
+ }
33
+ }
34
+
35
+ def score_clean(df):
36
+ '''
37
+ Manually clean scores that are incorrect in the
38
+ game file
39
+ '''
40
+ ## create a home and away map ##
41
+ home_map = {k:manual_clean_dict[k]['home_score'] for k in manual_clean_dict.keys()}
42
+ away_map = {k:manual_clean_dict[k]['away_score'] for k in manual_clean_dict.keys()}
43
+ ## apply ##
44
+ df['home_score'] = df['game_id'].map(home_map).combine_first(df['home_score'])
45
+ df['away_score'] = df['game_id'].map(away_map).combine_first(df['away_score'])
46
+ ## return
47
+ return df
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "coaches",
3
+ "description": "Aggregated head coaching stats",
4
+ "last_local_update": "2024-07-07T23:13:39.454179",
5
+ "download_url": "https://raw.githubusercontent.com/greerreNFL/coaches/main/coaches.csv",
6
+ "compression": null,
7
+ "engine": "c",
8
+ "freshness": {
9
+ "type": "gh_commit",
10
+ "gh_api_endpoint": "https://api.github.com/repos/greerreNFL/coaches/commits?path=coaches.csv",
11
+ "gh_release_tag": null,
12
+ "sla_seconds": 900,
13
+ "last_freshness_check": "2024-07-10T17:16:06.701316+00:00"
14
+ },
15
+ "iter": {
16
+ "type": null,
17
+ "start": null
18
+ },
19
+ "assignments": [],
20
+ "map": {
21
+ "coach": "object",
22
+ "seasons": "int32",
23
+ "is_active": "int32",
24
+ "games": "float32",
25
+ "wins": "float32",
26
+ "losses": "float32",
27
+ "ties": "int32",
28
+ "playoff_births": "float32",
29
+ "games_playoff": "float32",
30
+ "wins_playoff": "float32",
31
+ "losses_playoff": "float32",
32
+ "ties_playoff": "float32",
33
+ "games_superbowl": "float32",
34
+ "wins_superbowl": "float32",
35
+ "ats_pct": "float32",
36
+ "ats_return": "float32",
37
+ "ats_risked": "float32",
38
+ "avg_pf": "float32",
39
+ "avg_pa": "float32",
40
+ "avg_margin": "float32",
41
+ "avg_spread": "float32",
42
+ "ats_pct_home": "float32",
43
+ "ats_pct_away": "float32",
44
+ "ats_pct_playoff": "float32",
45
+ "ats_pct_favorite": "float32",
46
+ "ats_pct_underdog": "float32",
47
+ "ats_pct_div": "float32",
48
+ "ats_pct_non_div": "float32",
49
+ "ats_pct_bye": "float32",
50
+ "ats_pct_dome": "float32",
51
+ "ats_roi": "float32",
52
+ "win_pct": "float32",
53
+ "win_pct_playoff": "float32",
54
+ "teams": "object",
55
+ "pfr_coach_image_url": "object",
56
+ "pfr_coach_tree_hired_by": "object",
57
+ "pfr_coach_tree_hired": "object"
58
+ }
59
+ }
@@ -17,7 +17,7 @@
17
17
  "start": null
18
18
  },
19
19
  "assignments": [
20
- "fastr_team_id_repl"
20
+ "fastr_team_id_repl", "score_clean"
21
21
  ],
22
22
  "map": {
23
23
  "game_id": "object",
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "hfa",
3
+ "description": "Estimated home field advantage by game",
4
+ "last_local_update": null,
5
+ "download_url": "https://raw.githubusercontent.com/greerreNFL/nfelohfa/main/estimated_hfa.csv",
6
+ "compression": null,
7
+ "engine": "c",
8
+ "freshness": {
9
+ "type": "gh_commit",
10
+ "gh_api_endpoint": "https://api.github.com/repos/greerreNFL/nfelohfa/commits?path=estimated_hfa.csv",
11
+ "gh_release_tag": null,
12
+ "sla_seconds": 900,
13
+ "last_freshness_check": "2024-07-10T17:16:06.701316+00:00"
14
+ },
15
+ "iter": {
16
+ "type": null,
17
+ "start": null
18
+ },
19
+ "assignments": [],
20
+ "map": {
21
+ "game_id": "object",
22
+ "season": "int32",
23
+ "week": "int32",
24
+ "home_team": "object",
25
+ "away_team": "object",
26
+ "home_bye": "int32",
27
+ "away_bye": "int32",
28
+ "home_time_advantage": "float32",
29
+ "dif_surface": "int32",
30
+ "div_game": "int32",
31
+ "hfa_base": "float32",
32
+ "home_bye_adj": "float32",
33
+ "away_bye_adj": "float32",
34
+ "home_time_advantage_adj": "float32",
35
+ "dif_surface_adj": "float32",
36
+ "div_game_adj": "float32",
37
+ "hfa_adj": "float32"
38
+ }
39
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "srs",
3
+ "description": "A Simple Ranking System implimentation for the NFL",
4
+ "last_local_update": "2024-07-07T23:13:39.454179",
5
+ "download_url": "https://raw.githubusercontent.com/greerreNFL/nfelosrs/main/srs_ratings.csv",
6
+ "compression": null,
7
+ "engine": "c",
8
+ "freshness": {
9
+ "type": "gh_commit",
10
+ "gh_api_endpoint": "https://api.github.com/repos/greerreNFL/nfelosrs/commits?path=srs_ratings.csv",
11
+ "gh_release_tag": null,
12
+ "sla_seconds": 900,
13
+ "last_freshness_check": "2024-07-10T17:16:06.701316+00:00"
14
+ },
15
+ "iter": {
16
+ "type": null,
17
+ "start": null
18
+ },
19
+ "assignments": [],
20
+ "map": {
21
+ "season": "int32",
22
+ "week": "int32",
23
+ "team": "object",
24
+ "avg_mov": "float32",
25
+ "avg_mov_of_opponents": "float32",
26
+ "srs_rating": "float32",
27
+ "srs_rating_normalized": "float32",
28
+ "bayesian_rating": "float32",
29
+ "bayesian_stdev": "float32",
30
+ "pre_season_wt_rating": "float32",
31
+ "qb_adjustment": "float32",
32
+ "srs_rating_w_qb_adj": "float32",
33
+ "srs_rating_normalized_w_qb_adj": "float32",
34
+ "bayesian_rating_w_qb_adj": "float32",
35
+ "pre_season_wt_rating_w_qb_adj": "float32"
36
+ }
37
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "wt_ratings",
3
+ "description": "Win Totals and ratings derived from win totals (WT Ratings)",
4
+ "last_local_update": "2024-07-07T23:13:39.454179",
5
+ "download_url": "https://raw.githubusercontent.com/greerreNFL/nfelosrs/main/wt_ratings.csv",
6
+ "compression": null,
7
+ "engine": "c",
8
+ "freshness": {
9
+ "type": "gh_commit",
10
+ "gh_api_endpoint": "https://api.github.com/repos/greerreNFL/nfelosrs/commits?path=wt_ratings.csv",
11
+ "gh_release_tag": null,
12
+ "sla_seconds": 900,
13
+ "last_freshness_check": "2024-07-10T17:16:06.701316+00:00"
14
+ },
15
+ "iter": {
16
+ "type": null,
17
+ "start": null
18
+ },
19
+ "assignments": [],
20
+ "map": {
21
+ "team": "object",
22
+ "season": "int32",
23
+ "wt_rating": "float32",
24
+ "wt_rating_elo": "float32",
25
+ "sos": "float32",
26
+ "line": "float32",
27
+ "over_odds": "int32",
28
+ "under_odds": "int32",
29
+ "hold": "float32",
30
+ "over_probability": "float32",
31
+ "under_probability": "float32",
32
+ "line_adj": "float32"
33
+ }
34
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nfelodcm
3
- Version: 0.1.8
3
+ Version: 0.1.9
4
4
  Summary: Python package for loading and caching CSVs hosted on github into pandas dataframes
5
5
  Author-email: Robert Greer <nfl@robbygreer.com>
6
6
  Maintainer-email: Robert Greer <nfl@robbygreer.com>
@@ -13,9 +13,9 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Requires-Python: >=3.11
15
15
  Description-Content-Type: text/markdown
16
- Requires-Dist: setuptools >=67.6.0
16
+ Requires-Dist: setuptools>=67.6.0
17
17
  Requires-Dist: wheel
18
- Requires-Dist: pandas >=1.5.3
18
+ Requires-Dist: pandas>=1.5.3
19
19
  Requires-Dist: requests
20
20
 
21
21
  # nfelo DCM
@@ -4,18 +4,21 @@ nfelodcm/nfelodcm/tests.py,sha256=Fp077LGBajP9g2Tpg5G6mDatustNceMUVtCgh_uM53I,10
4
4
  nfelodcm/nfelodcm/Engine/DCMTable.py,sha256=ZHHDNmhpdJ2JTc-y3iYe4jjXcViOjRNw_zdF4-UB2jE,3024
5
5
  nfelodcm/nfelodcm/Engine/__init__.py,sha256=vEEWcIBE4KLHoBCT1s2AIeSZxMfv1bcAqUNAJzSMSMo,31
6
6
  nfelodcm/nfelodcm/Engine/Assignments/__init__.py,sha256=IPKxTBbO3b0xaO922zkwif0FFd8Xqe3ZvCIFjhYg1oE,80
7
- nfelodcm/nfelodcm/Engine/Assignments/assignment.py,sha256=4qY95cSuivxEyjOIerfza_25sj-0ELjbjf5awXqm2pY,1209
7
+ nfelodcm/nfelodcm/Engine/Assignments/assignment.py,sha256=inDCtt0DxY1HFidxp2kZUym7X6J3kaBjDASstmuRtIA,1312
8
8
  nfelodcm/nfelodcm/Engine/Assignments/assignments/__init__.py,sha256=Rvz5gV9yxxQFd0wE6qek6xM2lejrIEneHVdhKac1eyU,161
9
9
  nfelodcm/nfelodcm/Engine/Assignments/assignments/desc_based_plays.py,sha256=LAXOlE-IW8A49rRagxcAGRao_4c2RdC7AK6_iV3M2Vc,1810
10
10
  nfelodcm/nfelodcm/Engine/Assignments/assignments/fastr_team_repl.py,sha256=TJGcnY_8yEBwnBxXJ5m9eQ5YWfnqN2UAhaVBLeGJ8sw,976
11
11
  nfelodcm/nfelodcm/Engine/Assignments/assignments/penalty_formatting.py,sha256=Ia3x_Z8EnzI4Bz_6LEfY0ICWvdmyzJsckrOUXGYgfRY,517
12
+ nfelodcm/nfelodcm/Engine/Assignments/assignments/score_clean.py,sha256=2-MgCH1m0XnoUoMwfBQFLCn3mLTflWin6LhAfHPoyqI,1162
12
13
  nfelodcm/nfelodcm/Engine/Primatives/DataPull.py,sha256=x1SUfCpxbXr923o52ExLMJItVKujSfcBeJDrDkFop70,2909
13
14
  nfelodcm/nfelodcm/Engine/Primatives/Freshness.py,sha256=VyRZmW6LI3jd43aWLo7OTnX3ZgGkwu85hn4r3_3ChZo,9803
14
15
  nfelodcm/nfelodcm/Engine/Primatives/LocalIO.py,sha256=LRKpP0t30t_ZUfIi3ASULkB4aKVV4cINZbp1wbrayac,2701
15
16
  nfelodcm/nfelodcm/Engine/Primatives/TableMap.py,sha256=M_T2TTxbT2B1Mv9hY3Ocli_AkoPirNUJDZ8n1HQPlgM,2636
16
17
  nfelodcm/nfelodcm/Engine/Primatives/__init__.py,sha256=JUHF_8_1vqbp7M5rJfDwzqkgi6UuLTPp_lxCw7t1uwc,124
18
+ nfelodcm/nfelodcm/Maps/coaches.json,sha256=wfyCH_NMHR2_bLhdRovDTA6QErkU-xvaIPib9t-rHCM,1713
17
19
  nfelodcm/nfelodcm/Maps/filmmargins.json,sha256=LDjMglK3cFEqGepHjRTE4b4VPyrm2IYN_2uqGnSvuzg,945
18
- nfelodcm/nfelodcm/Maps/games.json,sha256=g8ze7uY-TnE04i9JJvkEHZ6lgzYy7gg2BHIK4uQTP0U,1835
20
+ nfelodcm/nfelodcm/Maps/games.json,sha256=6kHv9kN7cT9PKfAdPbWw95Eagx8wmwlvRlVK0SU8l-c,1850
21
+ nfelodcm/nfelodcm/Maps/hfa.json,sha256=j3NjGca_O7lgxJ9By34J4l2Zpenh6ExOQwpMUVl41rA,1088
19
22
  nfelodcm/nfelodcm/Maps/logos.json,sha256=ftUHOFtgwQIbpOFcUU2Zcqw_kZyJoALHbhCuYvIrtsg,1133
20
23
  nfelodcm/nfelodcm/Maps/market_data.json,sha256=3tvrlF1VlXsIj6CO70EewCyUuqRhJ75UyvnKTDvJrrY,1994
21
24
  nfelodcm/nfelodcm/Maps/participants.json,sha256=2tUeihDe-mQ8KqT9lFYFd8cREvO9xTjdMYBte3ghXD0,1325
@@ -25,14 +28,16 @@ nfelodcm/nfelodcm/Maps/players.json,sha256=sqhPluayAiIpEzFPxyBvV51xbbj_xuTaWXIlU
25
28
  nfelodcm/nfelodcm/Maps/qbelo.json,sha256=U3_4Tr5iMWDKYq1Z8EdaNnRTxVmS4HsTtjJbCyCZwLk,1508
26
29
  nfelodcm/nfelodcm/Maps/qbr.json,sha256=VtQugxb8owcKkrulVmoxZiFH175advnM-NpyGKc_OT0,1207
27
30
  nfelodcm/nfelodcm/Maps/rosters.json,sha256=9tAvjDW7C2vImUFjP-BbgGpz7IZGlaizqjqMyalVtg0,1435
31
+ nfelodcm/nfelodcm/Maps/srs_ratings.json,sha256=iL135YadWWktcbniLHJ4XvVbR8exI7_WcYppOe2MXWQ,1150
28
32
  nfelodcm/nfelodcm/Maps/wepa.json,sha256=w2fmCODJcGY_RUEv0UeqVO-ugpb8si9Nm1VLwrMAQA0,1130
33
+ nfelodcm/nfelodcm/Maps/wt_ratings.json,sha256=6GhhOph5DUy-WOaL6esaUAIlm0BYrvo6l5bqJfDAtP4,972
29
34
  nfelodcm/nfelodcm/Utilities/__init__.py,sha256=KZPooahoLm1wPGw_mfOUI92FHLSvFNpMJmaRu6SCHq8,269
30
35
  nfelodcm/nfelodcm/Utilities/checks.py,sha256=oUIqRFywLBYpN2e5iCR7ReLGrQNVgJxbNe458rgupCU,4179
31
36
  nfelodcm/nfelodcm/Utilities/extract_map.py,sha256=DVITMr0mlP6p2V1ZdaIcbEavs-FZ28-EZ885maiS_KU,969
32
37
  nfelodcm/nfelodcm/Utilities/global_variables.json,sha256=VtKM5XRfpJYAaVYRoLO1Dc5loKzccdf6Z1Q7ai9-W00,298
33
38
  nfelodcm/nfelodcm/Utilities/retrieve_season_state.py,sha256=ZrBaMWmo2DA9OZqZ6MBWmrY9Llkc5OUfxmDk7EB1tRU,579
34
39
  nfelodcm/nfelodcm/Utilities/set_season_state.py,sha256=Y5fvop3EZfWcx2F85MtSNEGnwjofWyEMg4_HLTenAUA,3737
35
- nfelodcm-0.1.8.dist-info/METADATA,sha256=yHMP3aUugLpzL6PRHwLq65kBO3K6IQUwm15MqjBY510,4409
36
- nfelodcm-0.1.8.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
37
- nfelodcm-0.1.8.dist-info/top_level.txt,sha256=SlNA7_yZSwWvZIl9Md6brBH_C7nAYnATe4CrvuUXOGo,9
38
- nfelodcm-0.1.8.dist-info/RECORD,,
40
+ nfelodcm-0.1.9.dist-info/METADATA,sha256=Xtz-mOfZQdVR721GMwl091Q4aqvoSemK72tpXnXlnSk,4407
41
+ nfelodcm-0.1.9.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
42
+ nfelodcm-0.1.9.dist-info/top_level.txt,sha256=SlNA7_yZSwWvZIl9Md6brBH_C7nAYnATe4CrvuUXOGo,9
43
+ nfelodcm-0.1.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.3.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5