Add files via upload
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -13,7 +13,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -42,7 +42,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -80,7 +80,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -97,7 +97,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Reading Data: `segments`, `places`, and `tiles`\n",
|
||||
"# Reading Data: `segments` and `tiles`\n",
|
||||
"\n",
|
||||
"I picked some representative climbing segments ([`bikesegments.csv`](bikesegments.csv)) with the segment length in miles and climb in feet, along with several of my times on the segment. A line like\n",
|
||||
"\n",
|
||||
@@ -110,7 +110,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -127,7 +127,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -146,31 +146,18 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'parse_segments' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m segments \u001b[38;5;241m=\u001b[39m \u001b[43mparse_segments\u001b[49m(\u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbikesegments.csv\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 3\u001b[0m places \u001b[38;5;241m=\u001b[39m drop_index(pd\u001b[38;5;241m.\u001b[39mread_table(\u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbikeplaceshort.csv\u001b[39m\u001b[38;5;124m'\u001b[39m), sep\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m'\u001b[39m, comment\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m#\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 5\u001b[0m tiles \u001b[38;5;241m=\u001b[39m drop_index(pd\u001b[38;5;241m.\u001b[39mDataFrame(columns\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate square cluster total comment\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39msplit(), data\u001b[38;5;241m=\u001b[39m[\n\u001b[1;32m 6\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m09/21/2024\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m14\u001b[39m, \u001b[38;5;241m1394\u001b[39m, \u001b[38;5;241m3496\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mMichael J. Fox ride in Sonoma!12470434052\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[1;32m 7\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m04/28/2024\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m14\u001b[39m, \u001b[38;5;241m1275\u001b[39m, \u001b[38;5;241m3382\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mLivermore!11287081291\u001b[39m\u001b[38;5;124m'\u001b[39m),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 17\u001b[0m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m09/08/2022\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m11\u001b[39m, \u001b[38;5;241m300\u001b[39m, \u001b[38;5;241m2487\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFirst started tracking tiles\u001b[39m\u001b[38;5;124m'\u001b[39m)])\n\u001b[1;32m 18\u001b[0m )\u001b[38;5;241m.\u001b[39mstyle\u001b[38;5;241m.\u001b[39mformat({\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcomment\u001b[39m\u001b[38;5;124m'\u001b[39m: make_clickable, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m: link_date})\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'parse_segments' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"segments = parse_segments(open('bikesegments.csv'))\n",
|
||||
"\n",
|
||||
"places = drop_index(pd.read_table(open('bikeplaceshort.csv'), sep=',', comment='#'))\n",
|
||||
"\n",
|
||||
"tiles = drop_index(pd.DataFrame(columns='date square cluster total comment'.split(), data=[\n",
|
||||
" ('01/01/2025', 14, 1395, 3520, 'Start of 2025'),\n",
|
||||
" ('09/21/2024', 14, 1394, 3496, 'Michael J. Fox ride in Sonoma!12470434052'),\n",
|
||||
" ('04/28/2024', 14, 1275, 3382, 'Livermore!11287081291'),\n",
|
||||
" ('02/25/2024', 14, 1196, 3279, 'Expanding through Santa Cruz and to the South!10838162005'),\n",
|
||||
" ('01/01/2024', 14, 1056, 3105, 'Start of this year'),\n",
|
||||
" ('01/01/2024', 14, 1056, 3105, 'Start of 2024'),\n",
|
||||
" ('12/08/2023', 14, 1042, 3084, 'Benicia ride connects East Bay and Napa clusters!10350071201'),\n",
|
||||
" ('11/05/2023', 14, 932, 2914, 'Alum Rock ride gets 14x14 max square!8850905872'),\n",
|
||||
" ('06/30/2023', 13, 689, 2640, 'Rides in east Bay fill in holes!9298603815'),\n",
|
||||
@@ -191,7 +178,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -236,15 +223,19 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def mapl(f, *values): return list(map(f, *values))\n",
|
||||
"\n",
|
||||
"def wandering(places=places, by='pct'):\n",
|
||||
" \"All those who wander are not lost.\" # Also try by=['cat', 'pct']\n",
|
||||
" F = drop_index(places.sort_values(by=by, ascending=False))\n",
|
||||
"places = drop_index(pd.read_table(open('bikeplaceshort.csv'), sep=',', comment='#'))\n",
|
||||
"\n",
|
||||
"def wandrer(places=places, by=['pct', 'name'], ascending=[False, True], county=None):\n",
|
||||
" \"All those who wander are not lost.\" # Also try by=['county', 'pct']\n",
|
||||
" if county:\n",
|
||||
" places = places[places.county == county]\n",
|
||||
" F = drop_index(places.sort_values(by=by, ascending=ascending))\n",
|
||||
" pd.set_option('display.max_rows', None)\n",
|
||||
" return pd.DataFrame(\n",
|
||||
" {'name': F['name'],\n",
|
||||
@@ -285,51 +276,64 @@
|
||||
" else f'{round(x):,d}' if x > 10 \n",
|
||||
" else f'{x:.1f}')\n",
|
||||
"\n",
|
||||
"small_places = wandering(places[places['county'] != '---'])\n",
|
||||
"big_places = wandering(places[places['county'] == '---']).drop(columns='county')"
|
||||
"other_places = places[~places.county.isin(['---', 'SMC', 'SCC', 'SFC', 'ALA'])]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Pareto Front "
|
||||
"# SMC / SCC Leaders "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"execution_count": 33,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def make_leaders(data):\n",
|
||||
"def make_leaders(raw_data):\n",
|
||||
" \"\"\"Make a dataframe of leaders in two counties.\"\"\"\n",
|
||||
" leaders = pd.DataFrame(data, columns=['Name', 'Initials', 'SMC %', 'SCC %'])\n",
|
||||
" leaders['SMC miles'] = [round(2814 * d[2] / 100) for d in data]\n",
|
||||
" leaders['SCC miles'] = [round(7569 * d[3] / 100) for d in data]\n",
|
||||
" leaders['Total miles'] = leaders['SMC miles'] + leaders['SCC miles']\n",
|
||||
" leaders['Avg %'] = (leaders['SMC %'] + leaders['SCC %']) / 2\n",
|
||||
" return drop_index(leaders.sort_values('Avg %', ascending=False))\n",
|
||||
" data = [(name, SMp, SCp, *county_miles(SMp, SCp), round((SMp * SCp) ** 0.5, 2), round((SMp + SCp) / 2, 2), initials(name))\n",
|
||||
" for (name, SMp, SCp) in raw_data]\n",
|
||||
" leaders = pd.DataFrame(data, columns=[\n",
|
||||
" 'Name', 'SMC %', 'SCC %', 'SMC miles', 'SCC miles', 'Total miles', 'GeoMean %', 'Mean %', 'Initials'])\n",
|
||||
" return drop_index(leaders)\n",
|
||||
"\n",
|
||||
"leaders = make_leaders([ # Data as of Aug 19, 2024 (Name, Initials, SMC, SCC)\n",
|
||||
" ('Megan Gardner', 'MG', 99.31, 19.36),\n",
|
||||
" #('Matthew Ring', 'MR', 82.51, 2.43), # dominated by MG\n",
|
||||
" ('Barry Mann', 'BM', 77.91, 30.70), \n",
|
||||
" ('Peter Norvig', 'PN', 67.14, 35.45),\n",
|
||||
" ('Brian Feinberg', 'BF', 36.76, 45.30),\n",
|
||||
" ('Jason Molenda', 'JM', 7.6, 56.09) \n",
|
||||
" #('Jim Brooks', 'JB', 6.2, 49.51), # dominated by JM\n",
|
||||
" ])\n",
|
||||
" \n",
|
||||
"def pareto_front(leaders):\n",
|
||||
" ax = leaders.plot('SMC %', 'SCC %', kind='scatter')\n",
|
||||
"def county_miles(SMp, SCp) -> list:\n",
|
||||
" SMmiles = round(2827.3 * SMp / 100)\n",
|
||||
" SCmiles = round(7688.7 * SCp / 100)\n",
|
||||
" return [SMmiles, SCmiles, SMmiles + SCmiles] \n",
|
||||
"\n",
|
||||
"def initials(name: str) -> str:\n",
|
||||
" \"\"\"First and last initials.\"\"\"\n",
|
||||
" return name[0] + name.split()[-1][0]\n",
|
||||
"\n",
|
||||
"def plot_leaders(leaders, by='Mean %'):\n",
|
||||
" leaders = leaders.sort_values(by=by, ascending=False)\n",
|
||||
" ax = leaders.plot('SMC %', 'SCC %', kind='scatter', marker='D')\n",
|
||||
" front = sorted((x, y) for i, (_, _, x, y, *_) in leaders.iterrows())\n",
|
||||
" ax.plot(*zip(*front), ':'); \"ax.axis('square')\"; grid()\n",
|
||||
" \"ax.axis('square')\"; grid()\n",
|
||||
" ax.set_xlabel('San Mateo County %')\n",
|
||||
" ax.set_ylabel('Santa Clara County %')\n",
|
||||
" for i, (name, initials, x, y, *_) in leaders.iterrows():\n",
|
||||
" ax.text(x - 2, y + 2, initials)\n",
|
||||
" return leaders"
|
||||
" for i, (name, x, y, *_) in leaders.iterrows():\n",
|
||||
" ax.text(x + 0.7, y - 0.2, initials(name))\n",
|
||||
" return leaders\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"leaders = make_leaders([ # Data as of Mar 24, 2025 (Name, Initials, SMC, SCC)\n",
|
||||
" ('Megan Gardner', 99.94, 25.21),\n",
|
||||
" ('Matthew Ring', 83.16, 2.48),\n",
|
||||
" ('Peter Norvig', 78.80, 38.83),\n",
|
||||
" ('Barry Mann', 78.27, 31.09), \n",
|
||||
" ('Catherine Kircos', 54.47, 16.04),\n",
|
||||
" ('Elliot Hoff', 52.89, 6.13),\n",
|
||||
" ('Greogory P. Smith', 51.37, 23.27),\n",
|
||||
" ('Brian Feinberg', 36.76, 48.22),\n",
|
||||
" ('Chris Okeefe', 32.17, 48.30),\n",
|
||||
" ('Jason Molenda', 7.60, 56.15),\n",
|
||||
" ('Jim Brooks', 6.17, 53.51),\n",
|
||||
" ])"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -341,7 +345,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"execution_count": 13,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
@@ -393,7 +397,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.12"
|
||||
"version": "3.13.1"
|
||||
},
|
||||
"toc-autonumbering": true
|
||||
},
|
||||
|
||||
@@ -3,25 +3,25 @@ name,miles,county,pct
|
||||
#,,, San Mateo County = SMC
|
||||
#,,,
|
||||
Atherton,56.3,SMC,100
|
||||
Bay Area Ridge Trail,395.6,SMC,29.02
|
||||
Bay Area Ridge Trail,395.6,SMC,29.11
|
||||
Belmont,98.1,SMC,90.43
|
||||
Brisbane,40.9,SMC,49.62
|
||||
Brisbane,40.9,SMC,93.60
|
||||
Broadmoor,8.8,SMC,38.26
|
||||
Burleigh Murray Park,2.1,SMC,95.08
|
||||
Burlingame,88.4,SMC,56.50
|
||||
Burlingame Hills,6,SMC,71.45
|
||||
Burlingame,88.4,SMC,93.72
|
||||
Burlingame Hills,6,SMC,92.38
|
||||
Butano State Park,15.2,SMC,29.28
|
||||
Coal Creek Preserve,3.9,SMC,68.74
|
||||
Colma,13.7,SMC,64.79
|
||||
Daly City,148.1,SMC,28.42
|
||||
East Palo Alto,48.3,SMC,99.97
|
||||
Colma,13.7,SMC,92.62
|
||||
Daly City,148.1,SMC,28.75
|
||||
East Palo Alto,48.3,SMC,100
|
||||
El Corte de Madera OSP,34.54,SMC,26.85
|
||||
El Granada,49.2,SMC,53.71
|
||||
Emerald Lake Hills,24.6,SMC,100
|
||||
Foster City,150,SMC,99.14
|
||||
Half Moon Bay,68,SMC,50.56
|
||||
Half Moon Bay State Beach,4.4,SMC,65.89
|
||||
Hillsborough,85.3,SMC,53.12
|
||||
Hillsborough,85.3,SMC,90.52
|
||||
Kensington Square,0.6,SMC,100
|
||||
Ladera,8.1,SMC,100
|
||||
Long Ridge Preserve,11.0,SMC,45.10
|
||||
@@ -29,7 +29,7 @@ Los Trancos OSP,0.3,SMC,100
|
||||
Los Trancos Woods,5.3,SMC,100
|
||||
Menlo Oaks,3.5,SMC,100
|
||||
Menlo Park,139.5,SMC,99.97
|
||||
Millbrae,67.8,SMC,52.05
|
||||
Millbrae,67.8,SMC,92.31
|
||||
Montara,27.8,SMC,61.15
|
||||
Moss Beach,19.7,SMC,59.66
|
||||
North Fair Oaks,26.7,SMC,100
|
||||
@@ -40,52 +40,53 @@ Portola Valley,48.2,SMC,100
|
||||
Purisima Creek Preserve,16.5,SMC,39.09
|
||||
Redwood City,240.5,SMC,99.66
|
||||
Russian Ridge Preserve,12.2,SMC,59.66
|
||||
San Bruno,114,SMC,36.42
|
||||
San Carlos,99,SMC,99.51
|
||||
San Mateo,256,SMC,54.64
|
||||
San Mateo Highlands,18,SMC,92.36
|
||||
San Bruno,114,SMC,90.19
|
||||
San Carlos,99,SMC,99.52
|
||||
San Mateo,256,SMC,92.27
|
||||
San Mateo Highlands,18,SMC,92.43
|
||||
Sequoia Tract,11,SMC,100
|
||||
Sky Londa,10.42,SMC,98.49
|
||||
Sky Londa,10.42,SMC,100
|
||||
Skyline Ridge OSP,0.8,SMC,75.41
|
||||
South San Francisco,185.3,SMC,30.97
|
||||
South San Francisco,185.3,SMC,40.36
|
||||
West Menlo Park,11.2,SMC,100
|
||||
Windy Hill Preserve,4.1,SMC,100
|
||||
Woodside,75.2,SMC,99.08
|
||||
Woodside,75.2,SMC,100
|
||||
#,,,
|
||||
#,,, Santa Clara County = SCC
|
||||
#,,,
|
||||
Branham,44,SCC,33.21
|
||||
Campbell,119,SCC,30.48
|
||||
Communications Hill,27.8,SCC,35.31
|
||||
Cupertino,172,SCC,76.32
|
||||
Edenvale,30,SCC,47.65
|
||||
Cupertino,172,SCC,90.72
|
||||
Edenvale,30,SCC,47.80
|
||||
Foothills OS Preserve,1.1,SCC,100
|
||||
Gardner,23.4,SCC,46.93
|
||||
Gilroy,188.9,SCC,26.88
|
||||
Los Altos,138.2,SCC,99.87
|
||||
Los Altos Hills,91.3,SCC,99.46
|
||||
Los Gatos,148,SCC,52.05
|
||||
Los Altos Hills,91.3,SCC,99.38
|
||||
Los Gatos,148,SCC,59.19
|
||||
Loyola,18.3,SCC,99.94
|
||||
Milpitas,224,SCC,37.36
|
||||
Monte Sereno,20.4,SCC,53.04
|
||||
Mountain View,208.1,SCC,99.49
|
||||
Monte Sereno,20.4,SCC,92.18
|
||||
Morgan Hill,198,SCC,26.06
|
||||
Mountain View,208.1,SCC,99.19
|
||||
Palo Alto,297.2,SCC,99.52
|
||||
Parkview,42.5,SCC,34.07
|
||||
San Francisco Bay Trail,260.8,SCC,67.77
|
||||
San Francisco Bay Trail,260.8,SCC,70.71
|
||||
San Jose,2618.7,SCC,28.59
|
||||
San Martin,35.3,SCC,31.41
|
||||
Santa Clara,348,SCC,35.26
|
||||
Saratoga,180,SCC,53.84
|
||||
Stanford,82.53,SCC,99.66
|
||||
Saratoga,180,SCC,90.16
|
||||
Stanford,82.53,SCC,100
|
||||
Seven Trees,40.9,SCC,34.06
|
||||
Spartan Keyes,64.3,SCC,36.59
|
||||
Sunnyvale,357,SCC,58.34
|
||||
Sunnyvale,357,SCC,68.34
|
||||
Willow Glen,81.6,SCC,36.23
|
||||
Willow Glen South,63.3,SCC,31.02
|
||||
#,,,
|
||||
#,,, Alameda County = ALA
|
||||
#,,,
|
||||
Alameda,206.7,ALA,12.41
|
||||
Alameda,206.7,ALA,27.36
|
||||
Albany,42.7,ALA,6.96
|
||||
Ashland,35.1,ALA,36.49
|
||||
Berkeley,260.3,ALA,7.84
|
||||
@@ -99,6 +100,7 @@ Hayward,444.5,ALA,33.24
|
||||
Hayward Acres,3.5,ALA,43.53
|
||||
Livermore,448.52,ALA,5.46
|
||||
Newark,147,ALA,68.00
|
||||
Oakland,272.74,ALA,25.94
|
||||
Pleasonton,344.91,ALA,7.52
|
||||
San Leandro,230.6,ALA,28.18
|
||||
San Lorenzo,55.5,ALA,40.95
|
||||
@@ -107,32 +109,38 @@ Union City,208.8,ALA,33.36
|
||||
#,,,
|
||||
#,,, SF County = SFC
|
||||
#,,,
|
||||
Aquatic Park Fort Mason,6.4,SFC,15.4
|
||||
Aquatic Park Fort Mason,4.41,SFC,34.04
|
||||
Ashbury Heights,3.7,SFC,13
|
||||
Balboa Terrace,3.4,SFC,18.2
|
||||
Central Waterfront,10.2,SFC,6
|
||||
Bayview,25.63,SFC,30.44
|
||||
Bret Harte,9.03,SFC,30.49
|
||||
Candkestick Point Sra,12.39,SFC,34.10
|
||||
Central Waterfront,11.67,SFC,35.99
|
||||
Clarendon Heights,6,SFC,14.2
|
||||
Cole Valley,1.7,SFC,18
|
||||
Cow Hollow,12,SFC,11.9
|
||||
Dogpatch,5.1,SFC,12.3
|
||||
Financial District,9.4,SFC,10.2
|
||||
Fisherman's Wharf,6.2,SFC,13.8
|
||||
Dogpatch,5.1,SFC,61.04
|
||||
Financial District,11.43,SFC,30.57
|
||||
Fisherman's Wharf,6.27,SFC,43.2
|
||||
Forest Hill,6.1,SFC,15.9
|
||||
Golden Gate Heights,17.8,SFC,10.7
|
||||
Golden Gate Park,40.8,SFC,29.4
|
||||
Hunters Point,8.35,SFC,35.38
|
||||
India Basin,6,SFC,57.57
|
||||
Lake Street,3.9,SFC,36.8
|
||||
Lincoln Park,4.5,SFC,39.6
|
||||
Little Hollywood,3.7,SFC,15.2
|
||||
Mission Bay,13.8,SFC,8.6
|
||||
Northern Waterfront,5.6,SFC,15.5
|
||||
Little Hollywood,3.7,SFC,30.74
|
||||
Mission Bay,16,SFC,30
|
||||
Northern Waterfront,6.15,SFC,41.48
|
||||
Pacific Heights,18,SFC,10.7
|
||||
Panhandle,7.3,SFC,20.6
|
||||
Polk Gulch,4,SFC,18.2
|
||||
Presidio Heights,6.5,SFC,21.6
|
||||
Presidio National Park,43.5,SFC,26.7
|
||||
Presidio Terrace,2.8,SFC,43.9
|
||||
Rincon Hill,3.49,SFC,46.83
|
||||
Seacliff,4.1,SFC,29.3
|
||||
South Beach,4.8,SFC,37.4
|
||||
South Beach,5.53,SFC,59.0
|
||||
Sutro Heights,7.1,SFC,13.2
|
||||
#,,,
|
||||
#,,, Far Away Places
|
||||
@@ -161,16 +169,15 @@ Stinson Beach,11.2,MAR,32.9
|
||||
#,,,
|
||||
#,,, Counties and Bigger
|
||||
#,,,
|
||||
San Mateo County,2826.05,---,68.30
|
||||
Santa Clara County,7690.85,---,36.18
|
||||
Alameda County,5802.83,---,18.93
|
||||
Marin County,2453.18,---,11.79
|
||||
San Francisco County,1234.85,---,10.04
|
||||
San Mateo County,2826.05,---,78.80
|
||||
Santa Clara County,7690.85,---,38.70
|
||||
Alameda County,5802.83,---,25.06
|
||||
Marin County,2453.18,---,11.97
|
||||
San Francisco County,1234.85,---,11.60
|
||||
Napa County,1677.57,---,8.90
|
||||
Sonoma County,4955.3,---,7.55
|
||||
Sonoma County,4955.3,---,7.4
|
||||
Santa Cruz County,2700.36,---,10.58
|
||||
Contra Costa County,5905.56,---,4.12
|
||||
#,,,
|
||||
California,387818.83,---,0.01995
|
||||
USA,6447239.43,---,0.001269
|
||||
Earth,45515258.11,---,0.0001865
|
||||
Contra Costa County,5905.56,---,4.14
|
||||
California,389799,---,2.216
|
||||
USA,6459275,---,0.1406
|
||||
Earth,46047996.8,---,0.020385
|
||||
|
||||
|
@@ -1,8 +1,14 @@
|
||||
date title hours miles feet
|
||||
#
|
||||
# 2025
|
||||
#
|
||||
Fri, 3/21/2025 Saratoga 5:51:36 71.96 2,241
|
||||
Fri, 2/28/2025 Colma etc 6:26:23 74.23 5,607
|
||||
#
|
||||
# 2024
|
||||
#
|
||||
Sun, 10/27/2024 Morgan Hill + Newark 5:13:14 72.04 1,591
|
||||
Sun, 12/15/2024 Oakland 4:53:54 63.24 3,041
|
||||
Sun, 10/27/2024 Morgan Hill + Newark 5:13:14 72.04 5,669
|
||||
Fri, 10/11/2024 Pacific to Tunitas + 5:32:47 72.17 5,351
|
||||
Fri, 9/20/2024 Santa Rosa + Michael J Fox 6:16:40 93.33 3,628
|
||||
Fri, 9/6/2024 Yet Another Wandrer.earth Update + Canada with David 6:03:23 73.08 2,332
|
||||
|
||||
|
@@ -1,10 +1,12 @@
|
||||
date year title hours miles feet
|
||||
all 2022 Yearly 398:48:00 4382 292575
|
||||
all 2021 Yearly 490:32:00 6064 196634
|
||||
all 2020 Yearly 438:53:00 5341 94777
|
||||
all 2019 Yearly 476:19:00 6016 149797
|
||||
all 2018 Yearly 475:56:00 6101 158642
|
||||
all 2017 Yearly 567:20:00 7356 202096
|
||||
all 2016 Yearly 486:23:00 6339 201453
|
||||
all 2015 Yearly 419:57:00 5452 209859
|
||||
all 2014 Yearly 191:02:00 2469 118481
|
||||
date hours miles feet rides
|
||||
2024 511:41:00 6344 264838 393
|
||||
2023 541:41:00 6316 243100 372
|
||||
2022 532:56:00 6028 362323 349
|
||||
2021 490:32:00 6064 196634 319
|
||||
2020 438:53:00 5341 94777 266
|
||||
2019 476:19:00 6016 149797 438
|
||||
2018 475:56:00 6101 158642 440
|
||||
2017 567:20:00 7356 202096 367
|
||||
2016 486:23:00 6339 201453 327
|
||||
2015 419:57:00 5452 209859 244
|
||||
2014 191:02:00 2469 118481 100
|
||||
|
BIN
ipynb/statshunter.png
Normal file
BIN
ipynb/statshunter.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
Reference in New Issue
Block a user