คำนวณสถิติ เช่น เวลาที่ใช้ในอัตราการเต้นของหัวใจและโซนกำลังแบบรายบุคคล กำลังไฟฟ้าปกติ ปัจจัยความเข้มข้น คะแนนความเครียดในการฝึก ดัชนีความแปรปรวน ปัจจัยด้านประสิทธิภาพ โหลดการฝึกเรื้อรัง โหลดการฝึกเฉียบพลัน และความสมดุลของความเครียดในการฝึก จากเครื่องวัดอัตราการเต้นของหัวใจและกำลัง
แพ็คเกจนี้มีให้ภายใต้ pypi:
pip install cycling-stats
คุณสามารถใช้แพ็คเกจได้ดังนี้ ตัวอย่างง่ายๆ: คุณสามารถนำเข้าฟังก์ชัน training_stress_score
ได้ดังนี้
from cyclingstats . stats import training_stress_score
แพ็คเกจกำหนดให้คุณต้องมีข้อมูลของคุณใน pandas.DataFrame
ตัวอย่างต่อไปนี้จะแสดงเมื่อคุณมีอนุกรมเวลาจากเซสชันการฝึกที่แยกจากกันหลายเซสชัน และคุณต้องการคำนวณสถิติแยกกันสำหรับการปั่นจักรยานในแต่ละวัน
import pandas as pd
from cyclingstats . stats import calc_hr_zones , calc_power_zones , agg_zones , agg_power
from cyclingstats . stats import chronic_training_load , acute_training_load , training_stress_balance
# read time series of power and/or heart rate
df = pd . read_csv ( "PATH_TO_YOUR_HEARTRATE_AND_POWER_DATA" )
df [ 'date' ] = pd . to_datetime ( df [ 'timestamp' ]. dt . date )
# perform any other preprocessing steps here
# ---------- zones
# define LTHR and FTP to calculate custom Coggan heart rate and power zones
LTHR = # TODO: fill in a number for the lactate threshold heart rate [bpm]
FTP = # TODO: fill in a number for the functional threshold power [W]
hr_zones = calc_hr_zones ( LTHR )
power_zones = calc_power_zones ( FTP )
# calculate hr and power zones
df_zones = df . groupby ( 'date' ). apply ( agg_zones , hr_zones = hr_zones , power_zones = power_zones )
# ---------- power
df = df . set_index ( 'timestamp' )
# calculate power statistics
df_power = df . groupby ( 'date' ). apply ( agg_power , FTP = FTP )
# fill up dates for which we don't have an entry to get exponential weighted mean (ewm)
dates = df_power . index
df_power = df_power . reindex ( date_range )
# calculate ctl, atl and tsb
df_power [ 'chronic_training_load' ] = chronic_training_load ( df_power [ 'training_stress_score' ])
df_power [ 'acute_training_load' ] = acute_training_load ( df_power [ 'training_stress_score' ])
df_power [ 'training_stress_balance' ] = training_stress_balance ( df_power [ 'chronic_training_load' ], df_power [ 'acute_training_load' ])
# get back to indices for which there is a training session
df_power = df_power . loc [ dates ]
หากคุณกำลังประสบปัญหา โปรดติดต่อผู้เขียน ([email protected])
รหัสนี้คือ © E. van Weenen, 2022 และเผยแพร่ภายใต้ใบอนุญาต MIT ที่แนบมากับซอฟต์แวร์
นอกเหนือจากข้อจำกัดทางกฎหมายที่กำหนดโดยใบอนุญาตนี้ หากคุณใช้ซอฟต์แวร์นี้เพื่อสิ่งพิมพ์ทางวิชาการ คุณจะต้องแสดงที่มาที่เหมาะสม
E. van Weenen. cycling-stats: Calculate advanced cycling statistics from power and/or heart rate data, v0.1 (2022). github.com/evavanweenen/cycling-stats.