{"id":2053,"date":"2021-07-09T17:23:40","date_gmt":"2021-07-09T17:23:40","guid":{"rendered":"http:\/\/optimumsportsperformance.com\/blog\/?p=2053"},"modified":"2021-07-09T17:25:58","modified_gmt":"2021-07-09T17:25:58","slug":"doing-things-in-python-that-youd-normally-do-in-excel-data-analysis-for-strength-conditioning-coaches-turner-et-al-2015","status":"publish","type":"post","link":"https:\/\/optimumsportsperformance.com\/blog\/doing-things-in-python-that-youd-normally-do-in-excel-data-analysis-for-strength-conditioning-coaches-turner-et-al-2015\/","title":{"rendered":"Doing things in Python that you&#8217;d normally do in Excel &#8211; Data Analysis for Strength &#038; Conditioning Coaches (Turner et al., 2015)"},"content":{"rendered":"<p>My previous blog on, <strong><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/optimumsportsperformance.com\/blog\/doing-things-in-python-that-you-would-normally-do-in-excel\/\">Doing things in Python that you would normally do in Excel<\/a><\/span><\/strong>, got some nice feedback and seemed to be useful to a number of folks. As such, I&#8217;ve decided to continue on with that theme and put together a Python approach for constructing the stats in <strong><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/twitter.com\/anthonyturneruk\">Anthony Turner<\/a><\/span><\/strong>&#8216;s paper, <strong><span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/www.researchgate.net\/publication\/272507171_Data_Analysis_for_Strength_and_Conditioning_Coaches_Using_Excel_to_Analyze_Reliability_Differences_and_Relationships\">Data Analysis for Strength and Conditioning Coaches: Using Excel to Analyze Reliability, Differences and Relationships<\/a><\/span><\/strong>.<\/p>\n<p>In the paper, Anthony works through a few examples of calculating things like Smallest Worthwhile Change, Typical Error Measurement, and Cohen&#8217;s d Effect Size for CMJ, RSI, and Pro Agility. For the sake of brevity, my tutorial will only work through the CMJ data.<\/p>\n<p>In his paper, Anthony walks through how a strength coach can apply this type of analysis very simply in Excel. I use his data to construct the same analysis in Python and end up with a data frame that represents each athlete on the team, their 3 CMJ&#8217;s, a goal\/training target based on their SWC, and their Error Measurement.<\/p>\n<p><a href=\"https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2055\" src=\"https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM-1024x281.png\" alt=\"\" width=\"625\" height=\"172\" srcset=\"https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM-1024x281.png 1024w, https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM-300x82.png 300w, https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM-768x211.png 768w, https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM-624x171.png 624w, https:\/\/optimumsportsperformance.com\/blog\/wp-content\/uploads\/2021\/07\/Screen-Shot-2021-07-09-at-10.22.06-AM.png 1182w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Some things I cover in the tutorial that might be of interest to folks just starting out with Python:<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Adding new columns to a data frame while calculating summary summary statistics row-wise (e.g., working across each individual athlete&#8217;s row instead of calculating summary statistics over an entire column, which is how we commonly do it).<\/li>\n<li>Writing a custom function. In this tutorial I write a custom function to calculate the average and standard deviation across rows so that we only need one line of code to extract the information we are interested in.<\/li>\n<li>Step-by-step calculation of Cohen&#8217;s d Effect Size in Python.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Building your own data frames. I manually build Anthony&#8217;s data from the paper into a data frame. I also build a data frame at the end of the tutorial for Cohen&#8217;s d Effect Size interpretation.<\/p>\n<p>To access my Jupyter Notebook, go to my Github page, <span style=\"color: #0000ff;\"><strong><a style=\"color: #0000ff;\" href=\"https:\/\/github.com\/pw2\/Python-Tips-and-Tricks\/blob\/master\/Doing%20Things%20in%20Python%20That%20You'd%20Normally%20Do%20in%20Excel%20-%20Data%20Analysis%20for%20Strength%20%26%20Conditioning%20Coaches%20(Turner%20et%20al.%2C%202015).ipynb\">HERE<\/a><\/strong><\/span>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My previous blog on, Doing things in Python that you would normally do in Excel, got some nice feedback and seemed to be useful to a number of folks. As such, I&#8217;ve decided to continue on with that theme and put together a Python approach for constructing the stats in Anthony Turner&#8216;s paper, Data Analysis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[],"class_list":["post-2053","post","type-post","status-publish","format-standard","hentry","category-python-tips-tricks"],"_links":{"self":[{"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/posts\/2053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/comments?post=2053"}],"version-history":[{"count":2,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions"}],"predecessor-version":[{"id":2057,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/posts\/2053\/revisions\/2057"}],"wp:attachment":[{"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/media?parent=2053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/categories?post=2053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/optimumsportsperformance.com\/blog\/wp-json\/wp\/v2\/tags?post=2053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}