計算機科学のブログ

ほしい物リスト

Python - pandas - Working with: elephants dataframes: Tabular Data - set_index, to_dict methods

Head First Python: A Learner’s Guide to the Fundamentals of Python Programming, A Brain-Friendly GuidePaul Barry(著)、 O’Reilly Mediaの Chapter 11.(Working with: elephants dataframes: Tabular Data)、EXERCISE(505/682)の解答を求めてみる。

Jupyter(コード、入出力結果)

webapp/ScrapeWithPandas.ipynb

RECORDS = (0, 1, 3, 4)  # 本が書かれた時とWikipediaが違ってるっぽい。
COURSES = ('LC Men', 'LC Women', 'SC Men', 'SC Women')

records = {}
for table, course in zip(RECORDS, COURSES):
    df = tables[table][['Event', 'Time']]
    df = df[~df['Event'].str.contains('relay')]
    df = df.set_index('Event')
    records[course] = df.to_dict()['Time']
records
{'LC Men': {'50m freestyle': '20.91',
  '100m freestyle': '46.40',
  '200m freestyle': '1:42.00',
  '400m freestyle': '3:39.96',
  '800m freestyle': '7:32.12',
  '1500m freestyle': '14:30.67',
  '50m backstroke': '23.55',
  '100m backstroke': '51.60',
  '200m backstroke': '1:51.92',
  '50m breaststroke': '25.95',
  '100m breaststroke': '56.88',
  '200m breaststroke': '2:05.48',
  '50m butterfly': '22.27',
  '100m butterfly': '49.45',
  '200m butterfly': '1:50.34',
  '200m individual medley': '1:54.00',
  '400m individual medley': '4:02.50'},
 'LC Women': {'50m freestyle': '23.61',
  '100m freestyle': '51.71',
  '200m freestyle': '1:52.23',
  '400m freestyle': '3:55.38',
  '800m freestyle': '8:04.12',
  '1500m freestyle': '15:20.48',
  '50m backstroke': '26.86',
  '100m backstroke': '57.13',
  '200m backstroke': '2:03.14',
  '50m breaststroke': '29.16',
  '100m breaststroke': '1:04.13',
  '200m breaststroke': '2:17.55',
  '50m butterfly': '24.43',
  '100m butterfly': '54.60',
  '200m butterfly': '2:01.81',
  '200m individual medley': '2:06.12',
  '400m individual medley': '4:24.38'},
 'SC Men': {'50m freestyle': '19.90',
  '100m freestyle': '44.84',
  '200m freestyle': '1:38.61',
  '400m freestyle': '3:32.25',
  '800m freestyle': '7:20.46',
  '1500m freestyle': '14:06.88',
  '50m backstroke': '22.11',
  '100m backstroke': '48.33',
  '200m backstroke': '1:45.63',
  '50m breaststroke': '24.95',
  '100m breaststroke': '55.28',
  '200m breaststroke': '2:00.16',
  '50m butterfly': '21.32',
  '100m butterfly': '47.71',
  '200m butterfly': '1:46.85',
  '100m individual medley': '49.28',
  '200m individual medley': '1:48.88',
  '400m individual medley': '3:54.81'},
 'SC Women': {'50m freestyle': '22.83',
  '100m freestyle': '50.25',
  '200m freestyle': '1:50.31',
  '400m freestyle': '3:50.25',
  '800m freestyle': '7:57.42',
  '1500m freestyle': '15:08.24',
  '50m backstroke': '25.23',
  '100m backstroke': '54.02',
  '200m backstroke': '1:58.04',
  '50m breaststroke': '28.37',
  '100m breaststroke': '1:02.36',
  '200m breaststroke': '2:12.50',
  '50m butterfly': '23.94',
  '100m butterfly': '52.71',
  '200m butterfly': '1:59.32',
  '100m individual medley': '55.11',
  '200m individual medley': '2:01.63',
  '400m individual medley': '4:15.48'}}