Add files via upload

This commit is contained in:
Peter Norvig
2025-03-31 12:34:04 -07:00
committed by GitHub
parent 590a9acfc3
commit 6485fdb44f
6 changed files with 2325 additions and 1751 deletions

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 4,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -42,7 +42,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -80,7 +80,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 4, "execution_count": 6,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -97,7 +97,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# Reading Data: `segments`, `places`, and `tiles`\n", "# Reading Data: `segments` and `tiles`\n",
"\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", "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", "\n",
@@ -110,7 +110,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 5, "execution_count": 7,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -127,7 +127,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 6, "execution_count": 8,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -146,31 +146,18 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 1, "execution_count": 9,
"metadata": {}, "metadata": {},
"outputs": [ "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"
]
}
],
"source": [ "source": [
"segments = parse_segments(open('bikesegments.csv'))\n", "segments = parse_segments(open('bikesegments.csv'))\n",
"\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", "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", " ('09/21/2024', 14, 1394, 3496, 'Michael J. Fox ride in Sonoma!12470434052'),\n",
" ('04/28/2024', 14, 1275, 3382, 'Livermore!11287081291'),\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", " ('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", " ('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", " ('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", " ('06/30/2023', 13, 689, 2640, 'Rides in east Bay fill in holes!9298603815'),\n",
@@ -191,7 +178,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 10,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -236,15 +223,19 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 14, "execution_count": 11,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"def mapl(f, *values): return list(map(f, *values))\n", "def mapl(f, *values): return list(map(f, *values))\n",
"\n", "\n",
"def wandering(places=places, by='pct'):\n", "places = drop_index(pd.read_table(open('bikeplaceshort.csv'), sep=',', comment='#'))\n",
" \"All those who wander are not lost.\" # Also try by=['cat', 'pct']\n", "\n",
" F = drop_index(places.sort_values(by=by, ascending=False))\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", " pd.set_option('display.max_rows', None)\n",
" return pd.DataFrame(\n", " return pd.DataFrame(\n",
" {'name': F['name'],\n", " {'name': F['name'],\n",
@@ -285,51 +276,64 @@
" else f'{round(x):,d}' if x > 10 \n", " else f'{round(x):,d}' if x > 10 \n",
" else f'{x:.1f}')\n", " else f'{x:.1f}')\n",
"\n", "\n",
"small_places = wandering(places[places['county'] != '---'])\n", "other_places = places[~places.county.isin(['---', 'SMC', 'SCC', 'SFC', 'ALA'])]"
"big_places = wandering(places[places['county'] == '---']).drop(columns='county')"
] ]
}, },
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"# Pareto Front " "# SMC / SCC Leaders "
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 10, "execution_count": 33,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"def make_leaders(data):\n", "def make_leaders(raw_data):\n",
" \"\"\"Make a dataframe of leaders in two counties.\"\"\"\n", " \"\"\"Make a dataframe of leaders in two counties.\"\"\"\n",
" leaders = pd.DataFrame(data, columns=['Name', 'Initials', 'SMC %', 'SCC %'])\n", " data = [(name, SMp, SCp, *county_miles(SMp, SCp), round((SMp * SCp) ** 0.5, 2), round((SMp + SCp) / 2, 2), initials(name))\n",
" leaders['SMC miles'] = [round(2814 * d[2] / 100) for d in data]\n", " for (name, SMp, SCp) in raw_data]\n",
" leaders['SCC miles'] = [round(7569 * d[3] / 100) for d in data]\n", " leaders = pd.DataFrame(data, columns=[\n",
" leaders['Total miles'] = leaders['SMC miles'] + leaders['SCC miles']\n", " 'Name', 'SMC %', 'SCC %', 'SMC miles', 'SCC miles', 'Total miles', 'GeoMean %', 'Mean %', 'Initials'])\n",
" leaders['Avg %'] = (leaders['SMC %'] + leaders['SCC %']) / 2\n", " return drop_index(leaders)\n",
" return drop_index(leaders.sort_values('Avg %', ascending=False))\n",
"\n", "\n",
"leaders = make_leaders([ # Data as of Aug 19, 2024 (Name, Initials, SMC, SCC)\n", "def county_miles(SMp, SCp) -> list:\n",
" ('Megan Gardner', 'MG', 99.31, 19.36),\n", " SMmiles = round(2827.3 * SMp / 100)\n",
" #('Matthew Ring', 'MR', 82.51, 2.43), # dominated by MG\n", " SCmiles = round(7688.7 * SCp / 100)\n",
" ('Barry Mann', 'BM', 77.91, 30.70), \n", " return [SMmiles, SCmiles, SMmiles + SCmiles] \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", "\n",
"def pareto_front(leaders):\n", "def initials(name: str) -> str:\n",
" ax = leaders.plot('SMC %', 'SCC %', kind='scatter')\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", " 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_xlabel('San Mateo County %')\n",
" ax.set_ylabel('Santa Clara County %')\n", " ax.set_ylabel('Santa Clara County %')\n",
" for i, (name, initials, x, y, *_) in leaders.iterrows():\n", " for i, (name, x, y, *_) in leaders.iterrows():\n",
" ax.text(x - 2, y + 2, initials)\n", " ax.text(x + 0.7, y - 0.2, initials(name))\n",
" return leaders" " 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", "cell_type": "code",
"execution_count": 11, "execution_count": 13,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@@ -393,7 +397,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.12" "version": "3.13.1"
}, },
"toc-autonumbering": true "toc-autonumbering": true
}, },

View File

@@ -3,25 +3,25 @@ name,miles,county,pct
#,,, San Mateo County = SMC #,,, San Mateo County = SMC
#,,, #,,,
Atherton,56.3,SMC,100 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 Belmont,98.1,SMC,90.43
Brisbane,40.9,SMC,49.62 Brisbane,40.9,SMC,93.60
Broadmoor,8.8,SMC,38.26 Broadmoor,8.8,SMC,38.26
Burleigh Murray Park,2.1,SMC,95.08 Burleigh Murray Park,2.1,SMC,95.08
Burlingame,88.4,SMC,56.50 Burlingame,88.4,SMC,93.72
Burlingame Hills,6,SMC,71.45 Burlingame Hills,6,SMC,92.38
Butano State Park,15.2,SMC,29.28 Butano State Park,15.2,SMC,29.28
Coal Creek Preserve,3.9,SMC,68.74 Coal Creek Preserve,3.9,SMC,68.74
Colma,13.7,SMC,64.79 Colma,13.7,SMC,92.62
Daly City,148.1,SMC,28.42 Daly City,148.1,SMC,28.75
East Palo Alto,48.3,SMC,99.97 East Palo Alto,48.3,SMC,100
El Corte de Madera OSP,34.54,SMC,26.85 El Corte de Madera OSP,34.54,SMC,26.85
El Granada,49.2,SMC,53.71 El Granada,49.2,SMC,53.71
Emerald Lake Hills,24.6,SMC,100 Emerald Lake Hills,24.6,SMC,100
Foster City,150,SMC,99.14 Foster City,150,SMC,99.14
Half Moon Bay,68,SMC,50.56 Half Moon Bay,68,SMC,50.56
Half Moon Bay State Beach,4.4,SMC,65.89 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 Kensington Square,0.6,SMC,100
Ladera,8.1,SMC,100 Ladera,8.1,SMC,100
Long Ridge Preserve,11.0,SMC,45.10 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 Los Trancos Woods,5.3,SMC,100
Menlo Oaks,3.5,SMC,100 Menlo Oaks,3.5,SMC,100
Menlo Park,139.5,SMC,99.97 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 Montara,27.8,SMC,61.15
Moss Beach,19.7,SMC,59.66 Moss Beach,19.7,SMC,59.66
North Fair Oaks,26.7,SMC,100 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 Purisima Creek Preserve,16.5,SMC,39.09
Redwood City,240.5,SMC,99.66 Redwood City,240.5,SMC,99.66
Russian Ridge Preserve,12.2,SMC,59.66 Russian Ridge Preserve,12.2,SMC,59.66
San Bruno,114,SMC,36.42 San Bruno,114,SMC,90.19
San Carlos,99,SMC,99.51 San Carlos,99,SMC,99.52
San Mateo,256,SMC,54.64 San Mateo,256,SMC,92.27
San Mateo Highlands,18,SMC,92.36 San Mateo Highlands,18,SMC,92.43
Sequoia Tract,11,SMC,100 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 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 West Menlo Park,11.2,SMC,100
Windy Hill Preserve,4.1,SMC,100 Windy Hill Preserve,4.1,SMC,100
Woodside,75.2,SMC,99.08 Woodside,75.2,SMC,100
#,,, #,,,
#,,, Santa Clara County = SCC #,,, Santa Clara County = SCC
#,,, #,,,
Branham,44,SCC,33.21 Branham,44,SCC,33.21
Campbell,119,SCC,30.48 Campbell,119,SCC,30.48
Communications Hill,27.8,SCC,35.31 Communications Hill,27.8,SCC,35.31
Cupertino,172,SCC,76.32 Cupertino,172,SCC,90.72
Edenvale,30,SCC,47.65 Edenvale,30,SCC,47.80
Foothills OS Preserve,1.1,SCC,100 Foothills OS Preserve,1.1,SCC,100
Gardner,23.4,SCC,46.93 Gardner,23.4,SCC,46.93
Gilroy,188.9,SCC,26.88 Gilroy,188.9,SCC,26.88
Los Altos,138.2,SCC,99.87 Los Altos,138.2,SCC,99.87
Los Altos Hills,91.3,SCC,99.46 Los Altos Hills,91.3,SCC,99.38
Los Gatos,148,SCC,52.05 Los Gatos,148,SCC,59.19
Loyola,18.3,SCC,99.94 Loyola,18.3,SCC,99.94
Milpitas,224,SCC,37.36 Milpitas,224,SCC,37.36
Monte Sereno,20.4,SCC,53.04 Monte Sereno,20.4,SCC,92.18
Mountain View,208.1,SCC,99.49 Morgan Hill,198,SCC,26.06
Mountain View,208.1,SCC,99.19
Palo Alto,297.2,SCC,99.52 Palo Alto,297.2,SCC,99.52
Parkview,42.5,SCC,34.07 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 Jose,2618.7,SCC,28.59
San Martin,35.3,SCC,31.41 San Martin,35.3,SCC,31.41
Santa Clara,348,SCC,35.26 Santa Clara,348,SCC,35.26
Saratoga,180,SCC,53.84 Saratoga,180,SCC,90.16
Stanford,82.53,SCC,99.66 Stanford,82.53,SCC,100
Seven Trees,40.9,SCC,34.06 Seven Trees,40.9,SCC,34.06
Spartan Keyes,64.3,SCC,36.59 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,81.6,SCC,36.23
Willow Glen South,63.3,SCC,31.02 Willow Glen South,63.3,SCC,31.02
#,,, #,,,
#,,, Alameda County = ALA #,,, Alameda County = ALA
#,,, #,,,
Alameda,206.7,ALA,12.41 Alameda,206.7,ALA,27.36
Albany,42.7,ALA,6.96 Albany,42.7,ALA,6.96
Ashland,35.1,ALA,36.49 Ashland,35.1,ALA,36.49
Berkeley,260.3,ALA,7.84 Berkeley,260.3,ALA,7.84
@@ -99,6 +100,7 @@ Hayward,444.5,ALA,33.24
Hayward Acres,3.5,ALA,43.53 Hayward Acres,3.5,ALA,43.53
Livermore,448.52,ALA,5.46 Livermore,448.52,ALA,5.46
Newark,147,ALA,68.00 Newark,147,ALA,68.00
Oakland,272.74,ALA,25.94
Pleasonton,344.91,ALA,7.52 Pleasonton,344.91,ALA,7.52
San Leandro,230.6,ALA,28.18 San Leandro,230.6,ALA,28.18
San Lorenzo,55.5,ALA,40.95 San Lorenzo,55.5,ALA,40.95
@@ -107,32 +109,38 @@ Union City,208.8,ALA,33.36
#,,, #,,,
#,,, SF County = SFC #,,, 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 Ashbury Heights,3.7,SFC,13
Balboa Terrace,3.4,SFC,18.2 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 Clarendon Heights,6,SFC,14.2
Cole Valley,1.7,SFC,18 Cole Valley,1.7,SFC,18
Cow Hollow,12,SFC,11.9 Cow Hollow,12,SFC,11.9
Dogpatch,5.1,SFC,12.3 Dogpatch,5.1,SFC,61.04
Financial District,9.4,SFC,10.2 Financial District,11.43,SFC,30.57
Fisherman's Wharf,6.2,SFC,13.8 Fisherman's Wharf,6.27,SFC,43.2
Forest Hill,6.1,SFC,15.9 Forest Hill,6.1,SFC,15.9
Golden Gate Heights,17.8,SFC,10.7 Golden Gate Heights,17.8,SFC,10.7
Golden Gate Park,40.8,SFC,29.4 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 Lake Street,3.9,SFC,36.8
Lincoln Park,4.5,SFC,39.6 Lincoln Park,4.5,SFC,39.6
Little Hollywood,3.7,SFC,15.2 Little Hollywood,3.7,SFC,30.74
Mission Bay,13.8,SFC,8.6 Mission Bay,16,SFC,30
Northern Waterfront,5.6,SFC,15.5 Northern Waterfront,6.15,SFC,41.48
Pacific Heights,18,SFC,10.7 Pacific Heights,18,SFC,10.7
Panhandle,7.3,SFC,20.6 Panhandle,7.3,SFC,20.6
Polk Gulch,4,SFC,18.2 Polk Gulch,4,SFC,18.2
Presidio Heights,6.5,SFC,21.6 Presidio Heights,6.5,SFC,21.6
Presidio National Park,43.5,SFC,26.7 Presidio National Park,43.5,SFC,26.7
Presidio Terrace,2.8,SFC,43.9 Presidio Terrace,2.8,SFC,43.9
Rincon Hill,3.49,SFC,46.83
Seacliff,4.1,SFC,29.3 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 Sutro Heights,7.1,SFC,13.2
#,,, #,,,
#,,, Far Away Places #,,, Far Away Places
@@ -161,16 +169,15 @@ Stinson Beach,11.2,MAR,32.9
#,,, #,,,
#,,, Counties and Bigger #,,, Counties and Bigger
#,,, #,,,
San Mateo County,2826.05,---,68.30 San Mateo County,2826.05,---,78.80
Santa Clara County,7690.85,---,36.18 Santa Clara County,7690.85,---,38.70
Alameda County,5802.83,---,18.93 Alameda County,5802.83,---,25.06
Marin County,2453.18,---,11.79 Marin County,2453.18,---,11.97
San Francisco County,1234.85,---,10.04 San Francisco County,1234.85,---,11.60
Napa County,1677.57,---,8.90 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 Santa Cruz County,2700.36,---,10.58
Contra Costa County,5905.56,---,4.12 Contra Costa County,5905.56,---,4.14
#,,, California,389799,---,2.216
California,387818.83,---,0.01995 USA,6459275,---,0.1406
USA,6447239.43,---,0.001269 Earth,46047996.8,---,0.020385
Earth,45515258.11,---,0.0001865
1 name miles county pct
3 # San Mateo County = SMC
4 #
5 Atherton 56.3 SMC 100
6 Bay Area Ridge Trail 395.6 SMC 29.02 29.11
7 Belmont 98.1 SMC 90.43
8 Brisbane 40.9 SMC 49.62 93.60
9 Broadmoor 8.8 SMC 38.26
10 Burleigh Murray Park 2.1 SMC 95.08
11 Burlingame 88.4 SMC 56.50 93.72
12 Burlingame Hills 6 SMC 71.45 92.38
13 Butano State Park 15.2 SMC 29.28
14 Coal Creek Preserve 3.9 SMC 68.74
15 Colma 13.7 SMC 64.79 92.62
16 Daly City 148.1 SMC 28.42 28.75
17 East Palo Alto 48.3 SMC 99.97 100
18 El Corte de Madera OSP 34.54 SMC 26.85
19 El Granada 49.2 SMC 53.71
20 Emerald Lake Hills 24.6 SMC 100
21 Foster City 150 SMC 99.14
22 Half Moon Bay 68 SMC 50.56
23 Half Moon Bay State Beach 4.4 SMC 65.89
24 Hillsborough 85.3 SMC 53.12 90.52
25 Kensington Square 0.6 SMC 100
26 Ladera 8.1 SMC 100
27 Long Ridge Preserve 11.0 SMC 45.10
29 Los Trancos Woods 5.3 SMC 100
30 Menlo Oaks 3.5 SMC 100
31 Menlo Park 139.5 SMC 99.97
32 Millbrae 67.8 SMC 52.05 92.31
33 Montara 27.8 SMC 61.15
34 Moss Beach 19.7 SMC 59.66
35 North Fair Oaks 26.7 SMC 100
40 Purisima Creek Preserve 16.5 SMC 39.09
41 Redwood City 240.5 SMC 99.66
42 Russian Ridge Preserve 12.2 SMC 59.66
43 San Bruno 114 SMC 36.42 90.19
44 San Carlos 99 SMC 99.51 99.52
45 San Mateo 256 SMC 54.64 92.27
46 San Mateo Highlands 18 SMC 92.36 92.43
47 Sequoia Tract 11 SMC 100
48 Sky Londa 10.42 SMC 98.49 100
49 Skyline Ridge OSP 0.8 SMC 75.41
50 South San Francisco 185.3 SMC 30.97 40.36
51 West Menlo Park 11.2 SMC 100
52 Windy Hill Preserve 4.1 SMC 100
53 Woodside 75.2 SMC 99.08 100
54 #
55 # Santa Clara County = SCC
56 #
57 Branham 44 SCC 33.21
58 Campbell 119 SCC 30.48
59 Communications Hill 27.8 SCC 35.31
60 Cupertino 172 SCC 76.32 90.72
61 Edenvale 30 SCC 47.65 47.80
62 Foothills OS Preserve 1.1 SCC 100
63 Gardner 23.4 SCC 46.93
64 Gilroy 188.9 SCC 26.88
65 Los Altos 138.2 SCC 99.87
66 Los Altos Hills 91.3 SCC 99.46 99.38
67 Los Gatos 148 SCC 52.05 59.19
68 Loyola 18.3 SCC 99.94
69 Milpitas 224 SCC 37.36
70 Monte Sereno 20.4 SCC 53.04 92.18
71 Mountain View Morgan Hill 208.1 198 SCC 99.49 26.06
72 Mountain View 208.1 SCC 99.19
73 Palo Alto 297.2 SCC 99.52
74 Parkview 42.5 SCC 34.07
75 San Francisco Bay Trail 260.8 SCC 67.77 70.71
76 San Jose 2618.7 SCC 28.59
77 San Martin 35.3 SCC 31.41
78 Santa Clara 348 SCC 35.26
79 Saratoga 180 SCC 53.84 90.16
80 Stanford 82.53 SCC 99.66 100
81 Seven Trees 40.9 SCC 34.06
82 Spartan Keyes 64.3 SCC 36.59
83 Sunnyvale 357 SCC 58.34 68.34
84 Willow Glen 81.6 SCC 36.23
85 Willow Glen South 63.3 SCC 31.02
86 #
87 # Alameda County = ALA
88 #
89 Alameda 206.7 ALA 12.41 27.36
90 Albany 42.7 ALA 6.96
91 Ashland 35.1 ALA 36.49
92 Berkeley 260.3 ALA 7.84
100 Hayward Acres 3.5 ALA 43.53
101 Livermore 448.52 ALA 5.46
102 Newark 147 ALA 68.00
103 Oakland 272.74 ALA 25.94
104 Pleasonton 344.91 ALA 7.52
105 San Leandro 230.6 ALA 28.18
106 San Lorenzo 55.5 ALA 40.95
109 #
110 # SF County = SFC
111 #
112 Aquatic Park Fort Mason 6.4 4.41 SFC 15.4 34.04
113 Ashbury Heights 3.7 SFC 13
114 Balboa Terrace 3.4 SFC 18.2
115 Central Waterfront Bayview 10.2 25.63 SFC 6 30.44
116 Bret Harte 9.03 SFC 30.49
117 Candkestick Point Sra 12.39 SFC 34.10
118 Central Waterfront 11.67 SFC 35.99
119 Clarendon Heights 6 SFC 14.2
120 Cole Valley 1.7 SFC 18
121 Cow Hollow 12 SFC 11.9
122 Dogpatch 5.1 SFC 12.3 61.04
123 Financial District 9.4 11.43 SFC 10.2 30.57
124 Fisherman's Wharf 6.2 6.27 SFC 13.8 43.2
125 Forest Hill 6.1 SFC 15.9
126 Golden Gate Heights 17.8 SFC 10.7
127 Golden Gate Park 40.8 SFC 29.4
128 Hunters Point 8.35 SFC 35.38
129 India Basin 6 SFC 57.57
130 Lake Street 3.9 SFC 36.8
131 Lincoln Park 4.5 SFC 39.6
132 Little Hollywood 3.7 SFC 15.2 30.74
133 Mission Bay 13.8 16 SFC 8.6 30
134 Northern Waterfront 5.6 6.15 SFC 15.5 41.48
135 Pacific Heights 18 SFC 10.7
136 Panhandle 7.3 SFC 20.6
137 Polk Gulch 4 SFC 18.2
138 Presidio Heights 6.5 SFC 21.6
139 Presidio National Park 43.5 SFC 26.7
140 Presidio Terrace 2.8 SFC 43.9
141 Rincon Hill 3.49 SFC 46.83
142 Seacliff 4.1 SFC 29.3
143 South Beach 4.8 5.53 SFC 37.4 59.0
144 Sutro Heights 7.1 SFC 13.2
145 #
146 # Far Away Places
169 #
170 # Counties and Bigger
171 #
172 San Mateo County 2826.05 --- 68.30 78.80
173 Santa Clara County 7690.85 --- 36.18 38.70
174 Alameda County 5802.83 --- 18.93 25.06
175 Marin County 2453.18 --- 11.79 11.97
176 San Francisco County 1234.85 --- 10.04 11.60
177 Napa County 1677.57 --- 8.90
178 Sonoma County 4955.3 --- 7.55 7.4
179 Santa Cruz County 2700.36 --- 10.58
180 Contra Costa County 5905.56 --- 4.12 4.14
181 # California 389799 --- 2.216
182 California USA 387818.83 6459275 --- 0.01995 0.1406
183 USA Earth 6447239.43 46047996.8 --- 0.001269 0.020385
Earth 45515258.11 --- 0.0001865

View File

@@ -1,8 +1,14 @@
date title hours miles feet 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 # 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, 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/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 Fri, 9/6/2024 Yet Another Wandrer.earth Update + Canada with David 6:03:23 73.08 2,332
1 date title hours miles feet
2 #
3 # 2025
4 #
5 Fri, 3/21/2025 Saratoga 5:51:36 71.96 2,241
6 Fri, 2/28/2025 Colma etc 6:26:23 74.23 5,607
7 #
8 # 2024
9 #
10 Sun, 10/27/2024 Sun, 12/15/2024 Morgan Hill + Newark Oakland 5:13:14 4:53:54 72.04 63.24 1,591 3,041
11 Sun, 10/27/2024 Morgan Hill + Newark 5:13:14 72.04 5,669
12 Fri, 10/11/2024 Pacific to Tunitas + 5:32:47 72.17 5,351
13 Fri, 9/20/2024 Santa Rosa + Michael J Fox 6:16:40 93.33 3,628
14 Fri, 9/6/2024 Yet Another Wandrer.earth Update + Canada with David 6:03:23 73.08 2,332

View File

@@ -1,10 +1,12 @@
date year title hours miles feet date hours miles feet rides
all 2022 Yearly 398:48:00 4382 292575 2024 511:41:00 6344 264838 393
all 2021 Yearly 490:32:00 6064 196634 2023 541:41:00 6316 243100 372
all 2020 Yearly 438:53:00 5341 94777 2022 532:56:00 6028 362323 349
all 2019 Yearly 476:19:00 6016 149797 2021 490:32:00 6064 196634 319
all 2018 Yearly 475:56:00 6101 158642 2020 438:53:00 5341 94777 266
all 2017 Yearly 567:20:00 7356 202096 2019 476:19:00 6016 149797 438
all 2016 Yearly 486:23:00 6339 201453 2018 475:56:00 6101 158642 440
all 2015 Yearly 419:57:00 5452 209859 2017 567:20:00 7356 202096 367
all 2014 Yearly 191:02:00 2469 118481 2016 486:23:00 6339 201453 327
2015 419:57:00 5452 209859 244
2014 191:02:00 2469 118481 100
1 date year hours title miles feet rides
2 all 2024 2022 398:48:00 511:41:00 Yearly 4382 6344 292575 264838 393
3 all 2023 2021 490:32:00 541:41:00 Yearly 6064 6316 196634 243100 372
4 all 2022 2020 438:53:00 532:56:00 Yearly 5341 6028 94777 362323 349
5 all 2021 2019 476:19:00 490:32:00 Yearly 6016 6064 149797 196634 319
6 all 2020 2018 475:56:00 438:53:00 Yearly 6101 5341 158642 94777 266
7 all 2019 2017 567:20:00 476:19:00 Yearly 7356 6016 202096 149797 438
8 all 2018 2016 486:23:00 475:56:00 Yearly 6339 6101 201453 158642 440
9 all 2017 2015 419:57:00 567:20:00 Yearly 5452 7356 209859 202096 367
10 all 2016 2014 191:02:00 486:23:00 Yearly 2469 6339 118481 201453 327
11 2015 419:57:00 5452 209859 244
12 2014 191:02:00 2469 118481 100

BIN
ipynb/statshunter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB