Last active
September 22, 2017 02:51
-
-
Save markomanninen/9984423 to your computer and use it in GitHub Desktop.
Perseus Greek Isopsephy Project
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import re | |
data = {} | |
""" | |
Data mapping between roman and greek letters, isopsephy values and linguistic components | |
Resources: | |
- http://www.perseus.tufts.edu/img/keyCaps.gif for source | |
- http://www.class.uh.edu/mcl/faculty/pozzi/grnl1/intr/0.2.1.pract.vow.htm | |
- http://en.wikipedia.org/wiki/Greek_alphabet | |
- http://www.chlt.org/FirstGreekBook/JWW_FGB1.html | |
- http://www.webtopos.gr/eng/languages/greek/alphabet/alpha.htm | |
Segments: | |
- vowel | |
- consonant | |
Subsegments: | |
- semivowel (liquid, siblant and γ-nasal not specified on data table) | |
- double | |
- mute | |
Mutes (not specified on data table): | |
{class-order} {letter} | |
labial-smooth π | |
labial-middle β | |
labial-rought φ | |
palatal-smooth κ | |
palatal-middle γ | |
palatal-rought χ | |
lingual-smooth τ | |
lingual-middle δ | |
lingual-rought θ | |
Seven vowels: e h i o w u | |
""" | |
# letters from 1 to 9 | |
#alpha:http://en.wiktionary.org/wiki/ἄλφα | |
data[1] = {'greek': 'α', | |
'capital': 'Α', | |
'name': 'αλφα', | |
'segment': 'vowel', | |
'subsegment': 'short', | |
'roman': 'a', | |
'value': 1} | |
#beta:http://en.wiktionary.org/wiki/βῆτα | |
data[2] = {'greek': 'β', | |
'capital': 'Β', | |
'name': 'βητα', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'b', | |
'value': 2} | |
#gamma:http://en.wiktionary.org/wiki/γάμμα | |
data[3] = {'greek': 'γ', | |
'capital': 'Γ', | |
'name': 'γαμμα', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'g', | |
'value': 3} | |
#delta:http://en.wiktionary.org/wiki/δέλτα | |
data[4] = {'greek': 'δ', | |
'capital': 'Δ', | |
'name': 'δελτα', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'd', | |
'value': 4} | |
#epsilon:http://en.wiktionary.org/wiki/epsilon | |
data[5] = {'greek': 'ε', | |
'capital': 'Ε', | |
'name': 'ε ψιλον', | |
'segment': 'vowel', | |
'subsegment': 'short', | |
'roman': 'e', | |
'value': 5} | |
#digamma/stigma/episemon/wau | |
#http://en.wikipedia.org/wiki/Digamma | |
data[6] = {'greek': 'ϛ', 'small2': 'ϝ', | |
'capital': 'Ϛ', 'capital2': 'Ϝ', | |
'name': 'διγαμμα', 'name2': 'στιγμα', 'name3': 'επισημον', 'name4': 'βαυ', | |
'segment': 'numeral', | |
#'subsegment': '', | |
#'roman': '_', | |
'value': 6} | |
#zeta:http://en.wiktionary.org/wiki/ζῆτα | |
data[7] = {'greek': 'ζ', | |
'capital': 'Ζ', | |
'name': 'ζητα', | |
'segment': 'consonant', | |
'subsegment': 'double', | |
'roman': 'z', | |
'value': 7} | |
#eta:http://en.wiktionary.org/wiki/ἦτα | |
data[8] = {'greek': 'η', | |
'capital': 'Η', | |
'name': 'ητα', | |
'segment': 'vowel', | |
'subsegment': 'long', | |
'roman': 'h', | |
'value': 8} | |
#theta:http://en.wiktionary.org/wiki/θῆτα | |
data[9] = {'greek': 'θ', | |
'capital': 'Θ', | |
'name': 'θητα', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'q', | |
'value': 9} | |
# letters from 10 to 90 | |
#iota:http://en.wiktionary.org/wiki/ἰῶτα | |
data[10] = {'greek': 'ι', | |
'capital': 'Ι', | |
'name': 'ιωτα', | |
'segment': 'vowel', | |
'subsegment': 'short', | |
'roman': 'i', | |
'value': 10} | |
#kappa:http://en.wiktionary.org/wiki/κάππα | |
data[20] = {'greek': 'κ', | |
'capital': 'Κ', | |
'name': 'καππα', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'k', | |
'value': 20} | |
#lambda:http://en.wiktionary.org/wiki/λάμβδα | |
data[30] = {'greek': 'λ', | |
'capital': 'Λ', | |
'name': 'λαμβδα', | |
'segment': 'consonant', | |
'subsegment': 'semivowel', | |
'roman': 'l', | |
'value': 30} | |
#mu:http://en.wiktionary.org/wiki/mu | |
data[40] = {'greek': 'μ', | |
'capital': 'Μ', | |
'name': 'μυ', | |
'segment': 'consonant', | |
'subsegment': 'semivowel', | |
'roman': 'm', | |
'value': 40} | |
#nu:http://en.wiktionary.org/wiki/νῦ | |
data[50] = {'greek': 'ν', | |
'capital': 'Ν', | |
'name': 'νυ', | |
'segment': 'consonant', | |
'subsegment': 'semivowel', | |
'roman': 'n', | |
'value': 50} | |
#xi:http://en.wiktionary.org/wiki/ξεῖ | |
data[60] = {'greek': 'ξ', | |
'capital': 'Ξ', | |
'name': 'ξει', | |
'segment': 'consonant', | |
'subsegment': 'double', | |
'roman': 'c', | |
'value': 60} | |
#omicron:http://en.wiktionary.org/wiki/omicron | |
data[70] = {'greek': 'ο', | |
'capital': 'Ο', | |
'name': 'ο μικρον', | |
'segment': 'vowel', | |
'subsegment': 'short', | |
'roman': 'o', | |
'value': 70} | |
#pi:http://en.wiktionary.org/wiki/πεῖ | |
data[80] = {'greek': 'π', | |
'capital': 'Π', | |
'name': 'πει', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'p', | |
'value': 80} | |
#koppa:http://en.wikipedia.org/wiki/Koppa_(letter) | |
#http://www.webtopos.gr/eng/languages/greek/alphabet/earlyletters.htm | |
data[90] = {'greek': 'ϙ', 'small2': 'ϟ', | |
'capital': 'Ϙ', 'capital2': 'Ϟ', | |
'name': 'κοππα', | |
'segment': 'numeral', | |
#'subsegment': '', | |
#'roman': '_', | |
'value': 90} | |
# letters from 100 to 900 | |
#rho:http://en.wiktionary.org/wiki/ῥῶ | |
data[100] = {'greek': 'ρ', | |
'capital': 'Ρ', | |
'name': 'ρω', | |
'segment': 'consonant', | |
'subsegment': 'semivowel', | |
'roman': 'r', | |
'value': 100} | |
#sigma:http://en.wiktionary.org/wiki/σίγμα | |
data[200] = {'greek': 'σ', 'small2': 'ϲ', 'small3': 'ς', | |
'capital': 'Σ', 'capital2': 'Ϲ', 'capital3': 'Σ', | |
'name': 'σιγμα', | |
'segment': 'consonant', | |
'subsegment': 'semivowel', | |
'roman': 's', | |
'value': 200} | |
#tau:http://en.wiktionary.org/wiki/tau | |
data[300] = {'greek': 'τ', | |
'capital': 'Τ', | |
'name': 'ταυ', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 't', | |
'value': 300} | |
#upsilon:http://en.wiktionary.org/wiki/upsilon | |
data[400] = {'greek': 'υ', | |
'capital': 'Υ', | |
'name': 'υ ψιλον', | |
'segment': 'vowel', | |
'subsegment': 'short', | |
'roman': 'u', | |
'value': 400} | |
#phi:http://en.wiktionary.org/wiki/phi | |
data[500] = {'greek': 'φ', | |
'capital': 'Φ', | |
'name': 'φει', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'f', | |
'value': 500} | |
#khi, chi:http://en.wiktionary.org/wiki/chi | |
data[600] = {'greek': 'χ', | |
'capital': 'Χ', | |
'name': 'χει', | |
'segment': 'consonant', | |
'subsegment': 'mute', | |
'roman': 'x', | |
'value': 600} | |
#psi:http://en.wiktionary.org/wiki/psi | |
data[700] = {'greek': 'ψ', | |
'capital': 'Ψ', | |
'name': 'ψει', | |
'segment': 'consonant', | |
'subsegment': 'double', | |
'roman': 'y', | |
'value': 700} | |
#omega:http://en.wiktionary.org/wiki/omega | |
data[800] = {'greek': 'ω', | |
'capital': 'Ω', | |
'name': 'ω μεγα', | |
'segment': 'vowel', | |
'subsegment': 'long', | |
'roman': 'w', | |
'value': 800} | |
#sampi/disigma | |
#http://en.wikipedia.org/wiki/Sampi | |
#http://www.tlg.uci.edu/~opoudjis/unicode/other_nonattic.html#sampi | |
#http://www.parthia.com/fonts/sampi.htm | |
#http://www.jstor.org/stable/636031 | |
data[900] = {'greek': 'ϡ', 'small2': 'ͳ', | |
'capital': 'Ϡ', 'capital2': 'Ͳ', | |
'name': 'σαμπι', 'name2': 'δισιγμα', | |
'segment': 'numeral', | |
#'subsegment': '', | |
#'roman': '_', | |
'value': 900} | |
greek_roman_values = {} | |
greek_roman_letters = {} | |
roman_greek_letters = {} | |
keys = ['roman', 'greek', 'capital', 'capital2', 'small2', 'small3', 'small4'] | |
for num, d in data.items(): | |
for k in keys: | |
if d.has_key(k): | |
greek_roman_values[d[k]] = num | |
if k == 'roman': | |
greek_roman_letters[d[k]] = d['greek'] | |
greek_roman_letters[d[k].upper()] = d['capital'] | |
greek_roman_values[d[k].upper()] = num | |
else: | |
if d.has_key('roman'): | |
if k == 'capital' or k == 'capital2': | |
roman_greek_letters[d[k]] = d['roman'].upper() | |
else: | |
roman_greek_letters[d[k]] = d['roman'] | |
regex_greek_roman_values = re.compile('|'.join(greek_roman_values.keys())) | |
regex_greek_to_roman_letters = re.compile('|'.join(roman_greek_letters.keys())) | |
regex_roman_to_greek_letters = re.compile('|'.join(greek_roman_letters.keys())) | |
def isopsephy(str): | |
""" | |
Str is a roman letter representation (transliteration) of the greek word or sentence | |
that will be converted to the numerical value letter by letter | |
""" | |
str = regex_greek_roman_values.sub(lambda x: '%s ' % greek_roman_values[x.group()], str) | |
return sum([int(i) for i in str.split()]) | |
def to_roman(word): | |
""" | |
Create a roman letter version of the greek word. | |
This will change all greek (primary), capital, capital2, small2, small3, and small4 | |
letters to roman letter. Capital letters are honored. | |
""" | |
return regex_greek_to_roman_letters.sub(lambda x: roman_greek_letters[x.group()], word) | |
def to_greek(word): | |
""" | |
Create a greek version of the roman letter word. | |
This will change a-zA-Z except j, J, v & V to the corresponding greek letters | |
Capital letters are honored. | |
""" | |
return regex_roman_to_greek_letters.sub(lambda x: greek_roman_letters[x.group()], word) | |
names = {'name': 'name_value', 'name2': 'name_value2', 'name3': 'name_value3', 'name4': 'name_value4'} | |
for num, d in data.items(): | |
for k, v in names.items(): | |
if d.has_key(k): | |
d[v] = isopsephy(d[k]) | |
# accents / diacritics for simplified greek letters | |
accents = {} | |
accents['Ὑ'] = 'υ' | |
accents['Ὕ'] = 'υ' | |
accents['ὖ'] = 'υ' | |
accents['ῦ'] = 'υ' | |
accents['ύ'] = 'υ' | |
accents['ὗ'] = 'υ' | |
accents['ὐ'] = 'υ' | |
accents['ὑ'] = 'υ' | |
accents['ϋ'] = 'υ' | |
accents['ὔ'] = 'υ' | |
accents['ὺ'] = 'υ' | |
accents['ὕ'] = 'υ' | |
accents['ὓ'] = 'υ' | |
accents['Ἠ'] = 'η' | |
accents['Ἦ'] = 'η' | |
accents['Ἤ'] = 'η' | |
accents['Ἡ'] = 'η' | |
accents['ἠ'] = 'η' | |
accents['ἦ'] = 'η' | |
accents['ὴ'] = 'η' | |
accents['ῇ'] = 'η' | |
accents['ἡ'] = 'η' | |
accents['ή'] = 'η' | |
accents['ῃ'] = 'η' | |
accents['ῆ'] = 'η' | |
accents['ἥ'] = 'η' | |
accents['ἢ'] = 'η' | |
accents['ᾖ'] = 'η' | |
accents['ἤ'] = 'η' | |
accents['ῄ'] = 'η' | |
accents['ᾗ'] = 'η' | |
accents['ᾔ'] = 'η' | |
accents['ἣ'] = 'η' | |
accents['ἧ'] = 'η' | |
accents['ᾐ'] = 'η' | |
accents['ή'] = 'η' | |
accents['ῇ'] = 'η' | |
accents['Ἰ'] = 'ι' | |
accents['Ἴ'] = 'ι' | |
accents['Ἱ'] = 'ι' | |
accents['ῖ'] = 'ι' | |
accents['ί'] = 'ι' | |
accents['ῖ'] = 'ι' | |
accents['ὶ'] = 'ι' | |
accents['ἰ'] = 'ι' | |
accents['ἵ'] = 'ι' | |
accents['ἴ'] = 'ι' | |
accents['ἱ'] = 'ι' | |
accents['ἶ'] = 'ι' | |
accents['ΐ'] = 'ι' | |
accents['ἷ'] = 'ι' | |
accents['ϊ'] = 'ι' | |
accents['ῒ'] = 'ι' | |
accents['ἳ'] = 'ι' | |
accents['ἳ'] = 'ι' | |
accents['ί'] = 'ι' | |
accents['Ὁ'] = 'ο' | |
accents['Ὃ'] = 'ο' | |
accents['Ὅ'] = 'ο' | |
accents['Ὅ'] = 'ο' | |
accents[' Ὄ'] = 'ο' | |
accents['Ὀ'] = 'ο' | |
accents['Ὄ'] = 'ο' | |
accents['ὁ'] = 'ο' | |
accents['ὃ'] = 'ο' | |
accents['ό'] = 'ο' | |
accents['ὸ'] = 'ο' | |
accents['ὅ'] = 'ο' | |
accents['ὄ'] = 'ο' | |
accents['ὀ'] = 'ο' | |
accents['ὰ'] = 'α' | |
accents['ά'] = 'α' | |
accents['ἀ'] = 'α' | |
accents['ᾳ'] = 'α' | |
accents['ἄ'] = 'α' | |
accents['ἂ'] = 'α' | |
accents['ἃ'] = 'α' | |
accents['ᾶ'] = 'α' | |
accents['ᾷ'] = 'α' | |
accents['ἅ'] = 'α' | |
accents['ἁ'] = 'α' | |
accents['ἆ'] = 'α' | |
accents['ά'] = 'α' | |
accents['ά'] = 'α' | |
accents['Ὡ'] = 'ω' | |
accents['ῷ'] = 'ω' | |
accents['ῳ'] = 'ω' | |
accents['ώ'] = 'ω' | |
accents['ῶ'] = 'ω' | |
accents['ώ'] = 'ω' | |
accents['ὡ'] = 'ω' | |
accents['ᾧ'] = 'ω' | |
accents['ὥ'] = 'ω' | |
accents['ὢ'] = 'ω' | |
accents['ὼ'] = 'ω' | |
accents['ὦ'] = 'ω' | |
accents['ὧ'] = 'ω' | |
accents['ὤ'] = 'ω' | |
accents['ὠ'] = 'ω' | |
accents['ῴ'] = 'ω' | |
accents['Ἐ'] = 'ε' | |
accents['Ἔ'] = 'ε' | |
accents['Ἑ'] = 'ε' | |
accents['Ἓ'] = 'ε' | |
accents['Ἕ'] = 'ε' | |
accents['έ'] = 'ε' | |
accents['ἐ'] = 'ε' | |
accents['ἔ'] = 'ε' | |
accents['ἑ'] = 'ε' | |
accents['ὲ'] = 'ε' | |
accents['ἕ'] = 'ε' | |
accents['ἐ'] = 'ε' | |
accents['ἓ'] = 'ε' | |
accents['Ἀ'] = 'α' | |
accents['Ἁ'] = 'α' | |
accents['Ἆ'] = 'α' | |
accents['Ἄ'] = 'α' | |
accents['Ἅ'] = 'α' | |
accents['ά'] = 'α' | |
accents['Ῥ'] = 'ρ' | |
accents['ῥ'] = 'ρ' | |
regex_roman = re.compile(r'[^a-z ]+') | |
def preprocess_roman(str): | |
# regex to remove all special characters leaving only a-z and empty scape | |
# for example: a)a/atos tau1 -> aaatos tau | |
return regex_roman.sub('', str) | |
regex_greek = re.compile('|'.join(accents.keys())) | |
def preprocess_greek(str): | |
# handle diacritics | |
return regex_greek.sub(lambda x: accents[x.group()], str) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Perseus Greek Isopsephy Project" | |
] | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 2, | |
"metadata": {}, | |
"source": [ | |
"General Greek alphabet processing" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"import perseus\n", | |
"import pandas as pd\n", | |
"%pylab inline" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
} | |
], | |
"prompt_number": 43 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"keys = ['capital', 'greek', 'name', 'value', 'name_value', 'segment']\n", | |
"d = dict((key, []) for key in keys)\n", | |
"\n", | |
"for num, data in perseus.data.items():\n", | |
" for key in keys:\n", | |
" d[key].append(data[key])\n", | |
"\n", | |
"df = pd.DataFrame(d)\n", | |
"df.sort('value').groupby(['segment', 'greek', 'value', 'name', 'name_value'], sort=False).sum()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th>capital</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>segment</th>\n", | |
" <th>greek</th>\n", | |
" <th>value</th>\n", | |
" <th>name</th>\n", | |
" <th>name_value</th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th rowspan=\"7\" valign=\"top\">vowel</th>\n", | |
" <th>\u03b1</th>\n", | |
" <th>1 </th>\n", | |
" <th>\u03b1\u03bb\u03c6\u03b1</th>\n", | |
" <th>532 </th>\n", | |
" <td> \u0391</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b5</th>\n", | |
" <th>5 </th>\n", | |
" <th>\u03b5 \u03c8\u03b9\u03bb\u03bf\u03bd</th>\n", | |
" <th>865 </th>\n", | |
" <td> \u0395</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b7</th>\n", | |
" <th>8 </th>\n", | |
" <th>\u03b7\u03c4\u03b1</th>\n", | |
" <th>309 </th>\n", | |
" <td> \u0397</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b9</th>\n", | |
" <th>10 </th>\n", | |
" <th>\u03b9\u03c9\u03c4\u03b1</th>\n", | |
" <th>1111</th>\n", | |
" <td> \u0399</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03bf</th>\n", | |
" <th>70 </th>\n", | |
" <th>\u03bf \u03bc\u03b9\u03ba\u03c1\u03bf\u03bd</th>\n", | |
" <th>360 </th>\n", | |
" <td> \u039f</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c5</th>\n", | |
" <th>400</th>\n", | |
" <th>\u03c5 \u03c8\u03b9\u03bb\u03bf\u03bd</th>\n", | |
" <th>1260</th>\n", | |
" <td> \u03a5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c9</th>\n", | |
" <th>800</th>\n", | |
" <th>\u03c9 \u03bc\u03b5\u03b3\u03b1</th>\n", | |
" <th>849 </th>\n", | |
" <td> \u03a9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th rowspan=\"17\" valign=\"top\">consonant</th>\n", | |
" <th>\u03b2</th>\n", | |
" <th>2 </th>\n", | |
" <th>\u03b2\u03b7\u03c4\u03b1</th>\n", | |
" <th>311 </th>\n", | |
" <td> \u0392</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b3</th>\n", | |
" <th>3 </th>\n", | |
" <th>\u03b3\u03b1\u03bc\u03bc\u03b1</th>\n", | |
" <th>85 </th>\n", | |
" <td> \u0393</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b4</th>\n", | |
" <th>4 </th>\n", | |
" <th>\u03b4\u03b5\u03bb\u03c4\u03b1</th>\n", | |
" <th>340 </th>\n", | |
" <td> \u0394</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b6</th>\n", | |
" <th>7 </th>\n", | |
" <th>\u03b6\u03b7\u03c4\u03b1</th>\n", | |
" <th>316 </th>\n", | |
" <td> \u0396</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03b8</th>\n", | |
" <th>9 </th>\n", | |
" <th>\u03b8\u03b7\u03c4\u03b1</th>\n", | |
" <th>318 </th>\n", | |
" <td> \u0398</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03ba</th>\n", | |
" <th>20 </th>\n", | |
" <th>\u03ba\u03b1\u03c0\u03c0\u03b1</th>\n", | |
" <th>182 </th>\n", | |
" <td> \u039a</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03bb</th>\n", | |
" <th>30 </th>\n", | |
" <th>\u03bb\u03b1\u03bc\u03b2\u03b4\u03b1</th>\n", | |
" <th>78 </th>\n", | |
" <td> \u039b</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03bc</th>\n", | |
" <th>40 </th>\n", | |
" <th>\u03bc\u03c5</th>\n", | |
" <th>440 </th>\n", | |
" <td> \u039c</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03bd</th>\n", | |
" <th>50 </th>\n", | |
" <th>\u03bd\u03c5</th>\n", | |
" <th>450 </th>\n", | |
" <td> \u039d</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03be</th>\n", | |
" <th>60 </th>\n", | |
" <th>\u03be\u03b5\u03b9</th>\n", | |
" <th>75 </th>\n", | |
" <td> \u039e</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c0</th>\n", | |
" <th>80 </th>\n", | |
" <th>\u03c0\u03b5\u03b9</th>\n", | |
" <th>95 </th>\n", | |
" <td> \u03a0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c1</th>\n", | |
" <th>100</th>\n", | |
" <th>\u03c1\u03c9</th>\n", | |
" <th>900 </th>\n", | |
" <td> \u03a1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c3</th>\n", | |
" <th>200</th>\n", | |
" <th>\u03c3\u03b9\u03b3\u03bc\u03b1</th>\n", | |
" <th>254 </th>\n", | |
" <td> \u03a3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c4</th>\n", | |
" <th>300</th>\n", | |
" <th>\u03c4\u03b1\u03c5</th>\n", | |
" <th>701 </th>\n", | |
" <td> \u03a4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c6</th>\n", | |
" <th>500</th>\n", | |
" <th>\u03c6\u03b5\u03b9</th>\n", | |
" <th>515 </th>\n", | |
" <td> \u03a6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c7</th>\n", | |
" <th>600</th>\n", | |
" <th>\u03c7\u03b5\u03b9</th>\n", | |
" <th>615 </th>\n", | |
" <td> \u03a7</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03c8</th>\n", | |
" <th>700</th>\n", | |
" <th>\u03c8\u03b5\u03b9</th>\n", | |
" <th>715 </th>\n", | |
" <td> \u03a8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th rowspan=\"3\" valign=\"top\">numeral</th>\n", | |
" <th>\u03db</th>\n", | |
" <th>6 </th>\n", | |
" <th>\u03b4\u03b9\u03b3\u03b1\u03bc\u03bc\u03b1</th>\n", | |
" <th>99 </th>\n", | |
" <td> \u03da</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03d9</th>\n", | |
" <th>90 </th>\n", | |
" <th>\u03ba\u03bf\u03c0\u03c0\u03b1</th>\n", | |
" <th>251 </th>\n", | |
" <td> \u03d8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>\u03e1</th>\n", | |
" <th>900</th>\n", | |
" <th>\u03c3\u03b1\u03bc\u03c0\u03b9</th>\n", | |
" <th>331 </th>\n", | |
" <td> \u03e0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>27 rows \u00d7 1 columns</p>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 44, | |
"text": [ | |
" capital\n", | |
"segment greek value name name_value \n", | |
"vowel \u03b1 1 \u03b1\u03bb\u03c6\u03b1 532 \u0391\n", | |
" \u03b5 5 \u03b5 \u03c8\u03b9\u03bb\u03bf\u03bd 865 \u0395\n", | |
" \u03b7 8 \u03b7\u03c4\u03b1 309 \u0397\n", | |
" \u03b9 10 \u03b9\u03c9\u03c4\u03b1 1111 \u0399\n", | |
" \u03bf 70 \u03bf \u03bc\u03b9\u03ba\u03c1\u03bf\u03bd 360 \u039f\n", | |
" \u03c5 400 \u03c5 \u03c8\u03b9\u03bb\u03bf\u03bd 1260 \u03a5\n", | |
" \u03c9 800 \u03c9 \u03bc\u03b5\u03b3\u03b1 849 \u03a9\n", | |
"consonant \u03b2 2 \u03b2\u03b7\u03c4\u03b1 311 \u0392\n", | |
" \u03b3 3 \u03b3\u03b1\u03bc\u03bc\u03b1 85 \u0393\n", | |
" \u03b4 4 \u03b4\u03b5\u03bb\u03c4\u03b1 340 \u0394\n", | |
" \u03b6 7 \u03b6\u03b7\u03c4\u03b1 316 \u0396\n", | |
" \u03b8 9 \u03b8\u03b7\u03c4\u03b1 318 \u0398\n", | |
" \u03ba 20 \u03ba\u03b1\u03c0\u03c0\u03b1 182 \u039a\n", | |
" \u03bb 30 \u03bb\u03b1\u03bc\u03b2\u03b4\u03b1 78 \u039b\n", | |
" \u03bc 40 \u03bc\u03c5 440 \u039c\n", | |
" \u03bd 50 \u03bd\u03c5 450 \u039d\n", | |
" \u03be 60 \u03be\u03b5\u03b9 75 \u039e\n", | |
" \u03c0 80 \u03c0\u03b5\u03b9 95 \u03a0\n", | |
" \u03c1 100 \u03c1\u03c9 900 \u03a1\n", | |
" \u03c3 200 \u03c3\u03b9\u03b3\u03bc\u03b1 254 \u03a3\n", | |
" \u03c4 300 \u03c4\u03b1\u03c5 701 \u03a4\n", | |
" \u03c6 500 \u03c6\u03b5\u03b9 515 \u03a6\n", | |
" \u03c7 600 \u03c7\u03b5\u03b9 615 \u03a7\n", | |
" \u03c8 700 \u03c8\u03b5\u03b9 715 \u03a8\n", | |
"numeral \u03db 6 \u03b4\u03b9\u03b3\u03b1\u03bc\u03bc\u03b1 99 \u03da\n", | |
" \u03d9 90 \u03ba\u03bf\u03c0\u03c0\u03b1 251 \u03d8\n", | |
" \u03e1 900 \u03c3\u03b1\u03bc\u03c0\u03b9 331 \u03e0\n", | |
"\n", | |
"[27 rows x 1 columns]" | |
] | |
} | |
], | |
"prompt_number": 44 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"dfs = df.groupby('segment').agg({'value' : np.sum, 'name_value' : np.sum})\n", | |
"dfs = dfs.append(dfs.sum(numeric_only=True), ignore_index=True)\n", | |
"\n", | |
"print \"vowel name %s value %s \" % (dfs['name_value'][0], dfs['value'][0])\n", | |
"print \"conso name %s value %s \" % (dfs['name_value'][1], dfs['value'][1])\n", | |
"print \"numer name %s value %s \" % (dfs['name_value'][2], dfs['value'][2])\n", | |
"print \"---------------------------\"\n", | |
"print \"total %s %s \" % (dfs['name_value'][3], dfs['value'][3])\n", | |
"print \"avera(/27) %s %s \" % (dfs['name_value'][3]/27, dfs['value'][3]/27)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"vowel name 6390 value 2705 \n", | |
"conso name 681 value 996 \n", | |
"numer name 5286 value 1294 \n", | |
"---------------------------\n", | |
"total 12357 4995 \n", | |
"avera(/27) 457 185 \n" | |
] | |
} | |
], | |
"prompt_number": 63 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 3, | |
"metadata": {}, | |
"source": [ | |
"Cumulative reciprocal sum" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"def init_list(r):\n", | |
" # list of numbers 1-9, 10-90, 100-900,...\n", | |
" ranges = [range(pow(10, i), pow(10, i+1), pow(10, i)) for i in range(0, r)]\n", | |
" # flatten list\n", | |
" return [item for sublist in ranges for item in sublist]\n", | |
"\n", | |
"def cumulative_recprocal_sum(a):\n", | |
" # cumulative sum of the reciprocal of the list items\n", | |
" return [sum(1/float(item) for item in a[0:rank+1]) for rank in xrange(len(a))]\n", | |
"\n", | |
"f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex='col', sharey='row')\n", | |
"f.set_size_inches(18.0,10.0)\n", | |
"ax1.set_title('a = 1/1+1/2+...+1/9')\n", | |
"ax2.set_title('b = a + 1/10+...+1/90')\n", | |
"ax3.set_title('c = b + 1/100+...+1/900')\n", | |
"ax4.set_title('d = c + 1/1000+...+1/9000')\n", | |
"\n", | |
"pd.DataFrame({'reciprocal': cumulative_recprocal_sum(init_list(1)), 'pi': np.pi}).plot(ax=ax1)\n", | |
"pd.DataFrame({'reciprocal': cumulative_recprocal_sum(init_list(2)), 'pi': np.pi}).plot(ax=ax2)\n", | |
"pd.DataFrame({'reciprocal': cumulative_recprocal_sum(init_list(3)), 'pi': np.pi}).plot(ax=ax3)\n", | |
"pd.DataFrame({'reciprocal': cumulative_recprocal_sum(init_list(4)), 'pi': np.pi}).plot(ax=ax4)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 92, | |
"text": [ | |
"<matplotlib.axes.AxesSubplot at 0x10ad63950>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAABBIAAAJZCAYAAAAUFxZTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FOX+9/HPUgRDAklAWiiJFCkiCaBIla40EUUEBGkK\nUg8++rMhB0FRsR1ExYOKqKCigkcpAZESECUiJUoRQ0kkoUQhIARI3+cPTnIIpM1md2d29/26rlww\n2cnOdz9hCvfO/V2b3W63CwAAAAAAoBhKmV0AAAAAAADwHAwkAAAAAACAYmMgAQAAAAAAFBsDCQAA\nAAAAoNgYSAAAAAAAAMXGQAIAAAAAACg2BhIAAAAAAECxMZAAAAAAuEloaKjWr19vdhkAUCIMJABu\nsHHjRnXu3FmBgYEKCwvLd52tW7eqXbt2kqRp06apWbNmKlu2rGbMmOHQNk+cOKE777xTISEhKlWq\nlI4cOXLVOunp6bruuut0/vx5PfbYY2rYsKEqVqyoxo0ba9GiRQ5t1xXeeusttWrVSuXLl9fIkSPz\nXefFF1/U1KlTJUnvv/++GjRooICAAPXs2VPHjx93Z7kAABTIZrPJZrOZXUaJZWRkaMCAAQoLC1Op\nUqW0adOmfNe74YYbdPDgwSKvheLj49W5c2dVqFBBjRs3ttRgy5gxY9SoUSOVLl1aH330Ub7r3H77\n7Vq3bp3S09P1yCOPKCQkRMHBwZowYYIyMzNz10tOTlb//v3l7++v0NBQffbZZ+56GYBTMZAAuIG/\nv78efPBBvfLKKwWus2rVKvXu3VuS1KBBA73yyivq3bt3kRcbpUrlvxuXKlVKvXr10rJlywr82c2b\nNysiIkIVKlSQv7+/Vq5cqbNnz+qjjz7SP/7xD23dujXfn+vUqVOBFwyOevbZZwscNAkJCdG0adM0\natSoAn8+MjJSvXv3VlRUlKZOnarly5crOTlZYWFhGjx4sFNrBQDAWxk5x3fs2FGLFy9W9erV871e\nOXTokLKzs1W/fv0ir4UGDx6sli1bKjk5WbNmzdKAAQN08uTJfNct6NqnJAp73eHh4Zo3b55atGiR\n7+s8f/68duzYodtuu00vvviidu7cqb179yo2NlY7d+7U888/n7vuhAkTVL58ef3555/65JNPNG7c\nOO3bt8/prwdwNQYS4PNeeukl1a9fXxUrVlTTpk319ddfO30bN998s+6///4C70aQpNWrV6tXr16S\npAceeEB33HGHAgICZLfbHdpm1apV9fDDD6tVq1YFrhMZGZm7zWeffVYNGzaUJN1yyy3q0KFDgQMJ\nrng3pbDn69+/v/r166fKlSvn+/jp06cVGxurW2+9VStXrtS9996rxo0bq2zZspo2bZo2b96suLg4\np9YLAICjtm3bpqZNmyo4OFijRo1SWlqa05+/TZs2CgoKUs2aNTVp0iRlZGQU62eLe44vW7asJk+e\nrHbt2ql06dL5rnP5mySFXQvFxsZq165dmjFjhsqVK6e7775bN910U6FvhjhbYa97/Pjx6tKli8qX\nL5/v4+vXr1f79u1VtmxZrVy5UpMmTVJgYKCqVKmiyZMn64MPPpB0acDhq6++0nPPPSc/Pz+1a9dO\n/fr1s9RdoEBxMZAAn1e/fn1t2bJFZ8+e1fTp0zV06FCdOHEi33U//fRTBQUF5fsVHBysxMREh2o4\nfvy4kpKSFB4eXpKXYtjq1atzT/CXu3jxon7++WfdeOONbq2nKAUNqnz77bfq1q2bSpUqJZvNlme9\n7OxsSdKePXvcUiMAAIWx2+369NNPtXbtWh06dEixsbF53rG+3JYtWwq87ggKCtKPP/6Y78+VKVNG\nb7zxhk6dOqWtW7dq/fr1mjdvnitfVr5y7hYsyt69e3X99derQoUKud9r3ry59u7d68rynObK13nl\ndUhiYqLOnTun2NhYlSlTRvXr18993JNeJ3A5BhLg8wYMGKDq1atLkgYOHKgGDRpo27Zt+a47ZMgQ\nnT59Ot+v5ORk1apVy6EaIiMj1bNnT8M/5+jdCtKl2w0zMzPVoEGDqx57+OGHFR4erh49erhk244+\nX0HvFKxatSr3zoo77rhDX375pXbv3q2LFy9q5syZstlsunDhglPrBQDAETabTRMnTlRISIiCgoI0\nderUAufJt2/fvsDrjtOnT6tt27b5/lyLFi10yy23qFSpUqpbt67GjBljaEqiM87xFy5c0Pbt29Wp\nU6ci101JSVGlSpXyfK9ixYo6d+6cS2oriKPPffldpXfccYfeeOMNnTx5UidOnNDcuXNzr0NSUlJU\nsWLFPD8bEBCQ7+sErI6BBPi8jz/+WBEREbmj+3v27NGpU6fcWsPlUwyKcvm7E8HBwZJUrHcnirvN\n//u//9O+ffv0xRdf5Pl+YGBg7ja2bNmiPn365C6//PLLxdrmlS5/jtmzZ+ull17KXb7zzjuvWj+/\nE3x2drbWrVunO+64Q5LUtWtXPfvss7rnnnsUFhamsLAwBQQEODzIAwCAs9WuXTv373Xq1NGxY8ec\n+vyxsbHq06ePatSooUqVKmnq1KmFXtu44hy/fv16tWvXTmXLli1yXX9/f509ezbP986cOZP7n25n\nXftcyRmve/fu3apUqZJCQkIkSVOnTlVERITCw8PVvn179e/fX2XKlFG1atXyfZ1///23AgICHKof\nMBMDCfBpf/zxh8aMGaO3335bycnJOn36tG688cYCR6Q/+eQTBQQE5PtVsWJFh6Y2ZGRkaPPmzere\nvXu+j1/5LvyV705IKta7E1fKbyBh+vTp+vbbb7V27Vr5+/vneezMmTO522jfvr1WrVqVu/z4448X\n9+XmsXLlytznePLJJ/XUU0/lLi9fvvyq9fO7I+Hnn39W3bp18/RPGD9+vGJjY3XixAndfffdyszM\ntNw0DQCA77r8k5SOHDmimjVr5rve999/X+B1R0BAgH744Yd8f27cuHFq0qSJDh48qL///luzZs3K\nneqXH1ec4428SdK0aVMdPnxYKSkpud/75Zdf1LRpU0nOu/a5kjNe95XTGsqXL68333xTiYmJOnjw\noIKDg3P7VTVs2FCZmZk6ePBgntfJNQo8EQMJ8Gnnz5+XzWZTlSpVlJ2drYULFxY6l/7+++/XuXPn\n8v06e/Zsge962+12paamKiMjQ3a7XWlpaUpPT5d0aZT9pptuyvMf98zMTKWmpiorK0sZGRlKTU0t\n9AKgIKmpqUpNTb3q7xcuXNDPP/+szp0756774osv6rPPPtN3332noKCgIp/bFVMbCnrOrKwspaam\nKjMzU1lZWUpLS1NWVpakSyfwPn365K6blpamPXv2yG6368iRIxozZoymTJly1S2TAACYwW636+23\n39bRo0dzP6Fg0KBB+a7boUOHAq87zp07l/ux0VdKSUlRQECA/Pz8tH//fr3zzjuGayyOtLS03GuL\ny/8uSWvWrLmqb0BB10INGzZUeHi4ZsyYodTUVH311Vfas2eP7rnnHkN1l1RBr/vya7H09HSlpqbm\nrntlv6ljx47p2LFjstvtio6O1vPPP5/7qVQVKlTQ3XffrX/+85+6cOGCtmzZohUrVmjYsGGuf3GA\nkxU6kJCamqrWrVsrPDxcTZo00VNPPXXVOlFRUapUqZIiIiIUERFRYLMYwIqaNGmiRx99VG3atFH1\n6tW1Z88etW/f3unb2bRpk/z8/NS7d28lJCTo2muvzb0V//KOxjkefPBB+fn5acmSJZo1a5b8/Py0\nePHifJ+7sM7Kfn5+qlixomw2mxo1apTbxGjDhg1q27atrrnmmtx1p06dqoSEBNWvXz/3nY6XXnqp\nwOcuaLuXv0OS805KjhdeeKHAdycK65ac09149uzZWrx4sa699lrNmjVL0tXveKSmpur+++9XQECA\nWrdurXbt2um5554r8HUAAOBONptN999/v3r06KF69eqpQYMGeuaZZ5y6jVdffVWffvqpKlasqDFj\nxmjQoEGGPm2puOvecMMN8vPz07Fjx3T77berQoUKOnLkiPbs2SN/f/88b7AUdi0kSUuWLNH27dsV\nHBysqVOnatmyZQV+WlNB9RV13dGrVy+Hrm26d+8uPz8/RUdHa8yYMfLz89P333+vM2fOaN++fXnu\niDh06JDatWsnf39/jRw5UrNnz1a3bt1yH583b54uXryoqlWraujQofr3v/+txo0bF1gTYFU2exFD\njhcuXJCfn58yMzPVvn17vfrqq3n+oxUVFaXXX38939uQARStadOmWrZsmRo1auS2bU6YMEHNmjXT\nww8/7LZtukJSUpJatGiho0ePml0KAAD4r5dfflnJycmF/qfdG3zxxRf66quvtGTJErNLAdyuTFEr\n+Pn5SZLS09OVlZWV2+Dkcq7sngp4s4yMDA0fPtytgwiSFB4enm8zQ09z9uxZvf7662aXAQAALhMW\nFqZ+/fqZXYbLBQUF6ZFHHjG7DMAURd6RkJ2drRYtWujQoUMaN27cVR1MN23apLvvvlu1atVSSEiI\nXn31VTVp0sSlRQMAAAAAAHMU2WyxVKlSiomJUWJiojZv3qyoqKg8j7do0UIJCQn65ZdfNGnSJN11\n112uqhUAAAAAAJisyDsSLvfcc8/p2muv1WOPPVbgOmFhYdqxY8dVUyCqVKlS6OfXAgDgi+rVq5fn\no8DgWlyPAABwNaPXI4XekXDy5EmdOXNGknTx4kV99913ioiIyLNOUlJSbo+Ebdu2yW6359tH4dSp\nU7kf78ZX0V/Dhw83vQZP+iIv8iIv63yRl7GvQ4cOFfukjZLjeoR9lAzIgAzIgQyu/jJ6PVJos8Xj\nx49r+PDhys7OVnZ2toYNG6auXbtq/vz5kqSxY8dq6dKleuedd1SmTJncj6tDyYWGhppdgkchL2PI\nyxjyMoa8AGtjHyUDiQwkMshBDmTgiEIHEpo1a6adO3de9f2xY8fm/n3ChAmaMGGC8ysDAAAAAACW\nU2SzRZgjMDDQ7BI8CnkZQ17GkJcx5AVYG/soGUhkIJFBDnIgA0cwkGBR4eHhZpfgUcjLGPIyhryM\nIS/A2thHyUAiA4kMcpADGTjC0Kc2lGhDNpvctCkAgKTg4GCdPn3a7DLwX0FBQUpOTr7q+5wf3Yu8\nAcC9uB6xFmddjzCQAABeiuOutRT0++D35F7kDQDuxXHXWpx1PcLUBouKiooyuwSPQl7GkJcx5AXA\nm3BMIwOJDCQyyEEOcAQDCQAAAAAAoNiY2gAAXorjrrUwtcEayBsA3IvjrrUwtQEA4HW+//57NWrU\nyOwyAACAD+N6pGgMJFgUc5WMIS9jyMsY8nKfDh06aP/+/WaXAXg1jmlkIJGBRAY5yOFqXI8UjYEE\nAAAAAABQbPRIAAAvZeXjbmhoqB5++GEtWrRIx48f11133aV33nlHW7du1bBhw5SQkGB2iU5HjwRr\nIG8AcC8rH3e5Hin6+wXhjgQAgCk+/fRTrV27VocOHVJsbKyef/552Ww2s8sCAAA+hOsRxzCQYFHM\nVTKGvIwhL2O8OS+breRfjm3XpokTJyokJERBQUGaOnWqPvvsM+e+OAD58uZjWnGRARlIZJDDCjlw\nPeJ5yphdAADAPGbeaVi7du3cv9epU0fHjh0zrxgAAGAarkc8D3ckWFSnTp3MLsGjkJcx5GUMebnG\nkSNH8vy9Zs2aJlYD+A6OaWQgkYFEBjl8PQeuRxzDQAIAwO3sdrvmzZuno0ePKjk5WbNmzdKgQYPM\nLgsAAPgQrkccx0CCRVlhrpInIS9jyMsY8nI+m82mIUOGqEePHqpXr54aNGigZ555Rna7nQZHgItx\nTCMDiQwkMsjhyzlwPeI4eiQAAExx880364knnsjzvU6dOuW5xRAAAMCVuB5xjM3upg/1tPLnhwKA\nN7LycTcsLEwLFixQly5dzC7FbZz1uc0oGfIGAPey8nGX65Giv18QpjYAAAAAAIBiYyDBonx5rpIj\nyMsY8jKGvJwvLi7Op0b/ASvhmEYGEhlIZJDDl3PgesRxDCQAAAAAAIBio0cCAHgpjrvWQo8EayBv\nAHAvjrvWQo8EAAAAAADgdgwkWJQvz1VyBHkZQ17GkBcAb8IxjQwkMpDIIAc5wBEMJAAAAAAAgGKj\nRwIAeClvP+5+//33euihh7R//36zS8kVFRWlYcOGKSEh4arH6JFgDeQNAO7l7cddX70e4Y4EAIBH\n6tChg6VO2gAAwPf46vUIAwkWxVwlY8jLGPIyhrxcKzMz0ye2CVgFxzQykMhAIoMc5HAJ1yPGMJAA\nAHC70NBQvfzyy7rpppsUEBCgH374QW3btlVQUJDCw8O1adOm3HWTk5M1cuRIhYSEKDg4WP3795d0\n6cKndu3aeZ7zpZdeUtOmTRUcHKxRo0YpLS0td91atWrp5ZdfVo0aNTR69Gilp6drypQpCgkJUUhI\niB555BGlp6fnPt8333yj8PBwVapUSfXr19e3334rSVq4cKGaNGmiihUrql69enr33XfdERkAAHAy\nrkdKwO4mbtwUAMBu7eNu3bp17REREfbExET70aNH7ZUrV7avXr3abrfb7d999529cuXK9pMnT9rt\ndru9V69e9kGDBtnPnDljz8jIsG/evNlut9vtGzdutNeqVSvPczZr1syemJhoT05Otrdr187+zDPP\n5K5bpkwZ+5NPPmlPT0+3X7x40T5t2jR7mzZt7H/99Zf9r7/+srdt29Y+bdo0u91ut//000/2SpUq\n2detW2e32+32o0eP2vfv32+32+32VatW2Q8fPmy32+32TZs22f38/Ow7d+7Mt6bLFfT7sPLvyRuR\nNwC4l5WPu1yPFP39gpRx77AFAMBKbDNsJX4O+3TjDZRsNpsmT56skJAQzZ49W7169dIdd9whSerW\nrZtatWqlVatWqXv37lqzZo2Sk5NVqVIlSZfmIhb0nBMnTlRISIgkaerUqZo0aZKee+45SVKpUqU0\nY8YMlS1bVmXLltWnn36qt956S1WqVJEkTZ8+XWPHjtXMmTO1YMECjR49Wl27dpUk1axZM3c7vXr1\nyv17x44d1aNHD33//feKiIgwnAMAAOB6xBOvR9w6kGAr+b8PHxIlqZPJNRhnVkPWqKgoderUyZyN\neyDyMsab83LkpOssObcB/vHHH/ryyy+1YsWK3McyMzPVpUsXJSQkKDg4OPekXdznlKQ6dero2LFj\nucvXXXedrrnmmtzlY8eOqW7duvmun5iYqN69e+e7jdWrV2vGjBk6cOCAsrOzdeHCBd10003Fqg/W\nwPVIlDzxGsO5okQGUXJXBlZt2O/N53cjrJAD1yOedz3i1oEEqx5ErCgqSuK4BsCb2f77v7k6depo\n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\nS4XW70lXX3217r//frVs2bLIfZYuXapevXppz549Sk5O1hNPPKGgoCB17dpVnTp10ocffihJ+uyz\nz9S6dWsNHDhQ5cqV04QJE/T9999r3759kqR///vfevrpp1WnTh3VqVNHTz/9tObMmeOJlwkA8FHb\nt29X+/btFRUVpUGDBikjI8Ptz2Gz2fTyyy+rSZMmioqK0rXXXqujR4+W+H2+eMzxwQcfaPz48apc\nubKaN2+uhx56qMixuCzO/iju8e68807169dPVatWLfT+1NRU7du3TzfeeKMWL16su+++Wy1atFBY\nWJjGjx+v1atX6+DBg5KKP+Zw53EbUNZoJMBv5Obmqk+fPoqNjdXhw4d17NgxDRo0qNB9582bpypV\nqhR6iYmJKXKQNgxDc+fO1QsvvKCUlBTFxcVp6NChZfmyCmXvepdk9+7daty4sSpVquS4rV27dtq9\ne7fj/nbt2jnua9y4scqXL+/4BdubZWdna82aNerevXuh99tstiJfZ3h4uJo0aeK4/8cff8x3f9u2\nbR33AQBwpaysLPXv318jRoxQamqq7r77bn366adF/jK6du3aIo87qlSpovXr1xf6fa+//rrmz5+v\nZcuW6fz585o9e7bCw8PL8qUV4IljjtTUVCUnJ3v9WFzUGSdff/21br31VgUHBysoKCjffjabTdLl\nKZtS8ccc/nzcBv9DIwF+Y/PmzUpOTtZrr72mihUrqnz58urUqVOh+w4ZMkSpqamFXs6cOaN69eoV\n+Tx9+vRR586dVa5cOU2aNEkbNmzQsWPHnKrRHac8pqWlaevWrUpISChx34sXL6py5cr5bouMjNTF\nixclSZcuXSpwf1RUlC5cuFDgsbzldE271atXq127dqpUqZKaNWumGjVq6LXXXlN2dra++eYbrV69\nWmlpaZIuv86oqKh835/3dV6ZU1RUlCMjAACutHHjRuXk5Ojxxx9XSEiIBg4cqOuuu67I/Tt37lzk\ncUdqaqo6duxY6PfNnDlTkyZNUtOmTSVJbdq0UUxMjFM1+tIxh32fK8fiwo5H7Nx9XOLM4xXVKFqy\nZIl69eolSerRo4f++9//ateuXUpPT9ff/vY3BQUFOY5JijvmcOdxG1DWaCTAbyQlJalhw4ZFLszn\nDkFBQfmaDJUqVVJMTIyOHz9e6P7R0dGOvzasXbtWffr0cWxPnjzZpRqWL1+uTp06KSwsrMR9IyIi\n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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10a4a76d0>" | |
] | |
} | |
], | |
"prompt_number": 92 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 2, | |
"metadata": {}, | |
"source": [ | |
"Loading Greek-English Lexicon (Henry George Liddell & Robert Scott) from Perseus" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"fileName = \"Perseus_text_1999.04.0058\"\n", | |
"df = perseus.load_dataframe(fileName)\n", | |
"df.describe()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Retrieving data from local csv copy...\n" | |
] | |
}, | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CharCount</th>\n", | |
" <th>Isopsephy</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td> 36490.000000</td>\n", | |
" <td> 36490.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td> 8.505371</td>\n", | |
" <td> 1079.680460</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td> 2.361964</td>\n", | |
" <td> 546.903151</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td> 1.000000</td>\n", | |
" <td> 1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td> 7.000000</td>\n", | |
" <td> 675.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td> 8.000000</td>\n", | |
" <td> 1030.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td> 10.000000</td>\n", | |
" <td> 1435.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td> 33.000000</td>\n", | |
" <td> 4416.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>8 rows \u00d7 2 columns</p>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 93, | |
"text": [ | |
" CharCount Isopsephy\n", | |
"count 36490.000000 36490.000000\n", | |
"mean 8.505371 1079.680460\n", | |
"std 2.361964 546.903151\n", | |
"min 1.000000 1.000000\n", | |
"25% 7.000000 675.000000\n", | |
"50% 8.000000 1030.000000\n", | |
"75% 10.000000 1435.000000\n", | |
"max 33.000000 4416.000000\n", | |
"\n", | |
"[8 rows x 2 columns]" | |
] | |
} | |
], | |
"prompt_number": 93 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 3, | |
"metadata": {}, | |
"source": [ | |
"Sample words" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"df" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>CharCount</th>\n", | |
" <th>Id</th>\n", | |
" <th>Isopsephy</th>\n", | |
" <th>Translation</th>\n", | |
" <th>Transliteration</th>\n", | |
" <th>Word</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0 </th>\n", | |
" <td> 6</td>\n", | |
" <td> n0</td>\n", | |
" <td> 573</td>\n", | |
" <td> hurtful, perilous, aweful</td>\n", | |
" <td> aaatos</td>\n", | |
" <td> \u03b1\u03b1\u03b1\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1 </th>\n", | |
" <td> 5</td>\n", | |
" <td> n1</td>\n", | |
" <td> 213</td>\n", | |
" <td> unbroken, not to be broken, hard, strong</td>\n", | |
" <td> aaghs</td>\n", | |
" <td> \u03b1\u03b1\u03b3\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2 </th>\n", | |
" <td> 6</td>\n", | |
" <td> n2</td>\n", | |
" <td> 652</td>\n", | |
" <td> not to be touched, resistless, invincible</td>\n", | |
" <td> aaptos</td>\n", | |
" <td> \u03b1\u03b1\u03c0\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3 </th>\n", | |
" <td> 5</td>\n", | |
" <td> n3</td>\n", | |
" <td> 572</td>\n", | |
" <td> insatiate</td>\n", | |
" <td> aatos</td>\n", | |
" <td> \u03b1\u03b1\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4 </th>\n", | |
" <td> 3</td>\n", | |
" <td> n4</td>\n", | |
" <td> 802</td>\n", | |
" <td> to act recklessly|foolishly|I was infatuated</td>\n", | |
" <td> aaw</td>\n", | |
" <td> \u03b1\u03b1\u03c9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5 </th>\n", | |
" <td> 6</td>\n", | |
" <td> n5</td>\n", | |
" <td> 829</td>\n", | |
" <td> to be speechless</td>\n", | |
" <td> abakew</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03ba\u03b5\u03c9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6 </th>\n", | |
" <td> 6</td>\n", | |
" <td> n6</td>\n", | |
" <td> 232</td>\n", | |
" <td> speechless, infantine</td>\n", | |
" <td> abakhs</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03ba\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7 </th>\n", | |
" <td> 10</td>\n", | |
" <td> n7</td>\n", | |
" <td> 1599</td>\n", | |
" <td> uninitiated in the Bacchic orgies|joyless</td>\n", | |
" <td> abakxeutos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03ba\u03c7\u03b5\u03c5\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8 </th>\n", | |
" <td> 5</td>\n", | |
" <td> n8</td>\n", | |
" <td> 39</td>\n", | |
" <td> O that!</td>\n", | |
" <td> abale</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03bb\u03b5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9 </th>\n", | |
" <td> 6</td>\n", | |
" <td> n9</td>\n", | |
" <td> 312</td>\n", | |
" <td> without weight: not burdensome</td>\n", | |
" <td> abarhs</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c1\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td> 11</td>\n", | |
" <td> n10</td>\n", | |
" <td> 1035</td>\n", | |
" <td> not examined by torture, untortured|unexamined...</td>\n", | |
" <td> abasanistos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c3\u03b1\u03bd\u03b9\u03c3\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td> 11</td>\n", | |
" <td> n11</td>\n", | |
" <td> 1219</td>\n", | |
" <td> not ruled by a king</td>\n", | |
" <td> abasileutos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c3\u03b9\u03bb\u03b5\u03c5\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td> 10</td>\n", | |
" <td> n12</td>\n", | |
" <td> 845</td>\n", | |
" <td> not subject to enchantment</td>\n", | |
" <td> abaskantos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c3\u03ba\u03b1\u03bd\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td> 10</td>\n", | |
" <td> n13</td>\n", | |
" <td> 1095</td>\n", | |
" <td> not to be carried</td>\n", | |
" <td> abastaktos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c3\u03c4\u03b1\u03ba\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td> 6</td>\n", | |
" <td> n14</td>\n", | |
" <td> 574</td>\n", | |
" <td> that hinders walking</td>\n", | |
" <td> abatos</td>\n", | |
" <td> \u03b1\u03b2\u03b1\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td> 4</td>\n", | |
" <td> n15</td>\n", | |
" <td> 6</td>\n", | |
" <td> father</td>\n", | |
" <td> abba</td>\n", | |
" <td> \u03b1\u03b2\u03b2\u03b1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td> 9</td>\n", | |
" <td> n16</td>\n", | |
" <td> 633</td>\n", | |
" <td> a man of Abdera</td>\n", | |
" <td> abdhriths</td>\n", | |
" <td> \u03b1\u03b2\u03b4\u03b7\u03c1\u03b9\u03c4\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td> 11</td>\n", | |
" <td> n17</td>\n", | |
" <td> 725</td>\n", | |
" <td> like an Abderite|stupid</td>\n", | |
" <td> abdhritikos</td>\n", | |
" <td> \u03b1\u03b2\u03b4\u03b7\u03c1\u03b9\u03c4\u03b9\u03ba\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td> 8</td>\n", | |
" <td> n18</td>\n", | |
" <td> 291</td>\n", | |
" <td> unstable</td>\n", | |
" <td> abebaios</td>\n", | |
" <td> \u03b1\u03b2\u03b5\u03b2\u03b1\u03b9\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td> 8</td>\n", | |
" <td> n19</td>\n", | |
" <td> 318</td>\n", | |
" <td> not profane, inviolable</td>\n", | |
" <td> abebhlos</td>\n", | |
" <td> \u03b1\u03b2\u03b5\u03b2\u03b7\u03bb\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td> 9</td>\n", | |
" <td> n20</td>\n", | |
" <td> 454</td>\n", | |
" <td> silliness, stupidity, fatuity</td>\n", | |
" <td> abelteria</td>\n", | |
" <td> \u03b1\u03b2\u03b5\u03bb\u03c4\u03b5\u03c1\u03b9\u03b1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td> 9</td>\n", | |
" <td> n21</td>\n", | |
" <td> 713</td>\n", | |
" <td> good for nothing, silly, stupid, fatuous</td>\n", | |
" <td> abelteros</td>\n", | |
" <td> \u03b1\u03b2\u03b5\u03bb\u03c4\u03b5\u03c1\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td> 8</td>\n", | |
" <td> n22</td>\n", | |
" <td> 784</td>\n", | |
" <td> unforced, without violence</td>\n", | |
" <td> abiastos</td>\n", | |
" <td> \u03b1\u03b2\u03b9\u03b1\u03c3\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td> 5</td>\n", | |
" <td> n23</td>\n", | |
" <td> 283</td>\n", | |
" <td> simple in life</td>\n", | |
" <td> abios</td>\n", | |
" <td> \u03b1\u03b2\u03b9\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td> 7</td>\n", | |
" <td> n24</td>\n", | |
" <td> 1383</td>\n", | |
" <td> not to be lived, insupportable|life is intoler...</td>\n", | |
" <td> abiwtos</td>\n", | |
" <td> \u03b1\u03b2\u03b9\u03c9\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td> 8</td>\n", | |
" <td> n25</td>\n", | |
" <td> 52</td>\n", | |
" <td> harmlessness</td>\n", | |
" <td> ablabeia</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b1\u03b2\u03b5\u03b9\u03b1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td> 7</td>\n", | |
" <td> n26</td>\n", | |
" <td> 244</td>\n", | |
" <td> without doing harm</td>\n", | |
" <td> ablabhs</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b1\u03b2\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td> 9</td>\n", | |
" <td> n27</td>\n", | |
" <td> 909</td>\n", | |
" <td> without eye-lids</td>\n", | |
" <td> ablefaros</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b5\u03c6\u03b1\u03c1\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td> 5</td>\n", | |
" <td> n28</td>\n", | |
" <td> 241</td>\n", | |
" <td> not thrown|shot|not yet used</td>\n", | |
" <td> ablhs</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td> 7</td>\n", | |
" <td> n29</td>\n", | |
" <td> 611</td>\n", | |
" <td> not hit</td>\n", | |
" <td> ablhtos</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b7\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td> 7</td>\n", | |
" <td> n30</td>\n", | |
" <td> 849</td>\n", | |
" <td> without bleatings</td>\n", | |
" <td> ablhxhs</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b7\u03c7\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td> 8</td>\n", | |
" <td> n31</td>\n", | |
" <td> 1011</td>\n", | |
" <td> weak, feeble|easy|violent</td>\n", | |
" <td> ablhxros</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b7\u03c7\u03c1\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td> 10</td>\n", | |
" <td> n32</td>\n", | |
" <td> 1753</td>\n", | |
" <td> NaN</td>\n", | |
" <td> ablhxrwdhs</td>\n", | |
" <td> \u03b1\u03b2\u03bb\u03b7\u03c7\u03c1\u03c9\u03b4\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td> 9</td>\n", | |
" <td> n33</td>\n", | |
" <td> 668</td>\n", | |
" <td> helpless</td>\n", | |
" <td> abohqhtos</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03b7\u03b8\u03b7\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td> 6</td>\n", | |
" <td> n34</td>\n", | |
" <td> 391</td>\n", | |
" <td> without summons</td>\n", | |
" <td> abohti</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03b7\u03c4\u03b9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td> 7</td>\n", | |
" <td> n35</td>\n", | |
" <td> 651</td>\n", | |
" <td> not loudly lamented</td>\n", | |
" <td> abohtos</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03b7\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td> 9</td>\n", | |
" <td> n36</td>\n", | |
" <td> 871</td>\n", | |
" <td> ungrazed</td>\n", | |
" <td> aboskhtos</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c3\u03ba\u03b7\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td> 11</td>\n", | |
" <td> n37</td>\n", | |
" <td> 1171</td>\n", | |
" <td> untended by herdsmen|unheeded</td>\n", | |
" <td> aboukolhtos</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c5\u03ba\u03bf\u03bb\u03b7\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td> 7</td>\n", | |
" <td> n38</td>\n", | |
" <td> 1308</td>\n", | |
" <td> to be unwilling</td>\n", | |
" <td> aboulew</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c5\u03bb\u03b5\u03c9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td> 7</td>\n", | |
" <td> n39</td>\n", | |
" <td> 514</td>\n", | |
" <td> want of counsel, thoughtlessness</td>\n", | |
" <td> aboulia</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c5\u03bb\u03b9\u03b1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td> 7</td>\n", | |
" <td> n40</td>\n", | |
" <td> 773</td>\n", | |
" <td> inconsiderate, ill-advised|taking no thought|i...</td>\n", | |
" <td> aboulos</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c5\u03bb\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td> 7</td>\n", | |
" <td> n41</td>\n", | |
" <td> 981</td>\n", | |
" <td> without oxen|poor</td>\n", | |
" <td> abouths</td>\n", | |
" <td> \u03b1\u03b2\u03bf\u03c5\u03c4\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td> 7</td>\n", | |
" <td> n42</td>\n", | |
" <td> 330</td>\n", | |
" <td> of no weight</td>\n", | |
" <td> abriqhs</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03b9\u03b8\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td> 9</td>\n", | |
" <td> n43</td>\n", | |
" <td> 684</td>\n", | |
" <td> softly|delicately stepping</td>\n", | |
" <td> abrobaths</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03b2\u03b1\u03c4\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td> 8</td>\n", | |
" <td> n44</td>\n", | |
" <td> 455</td>\n", | |
" <td> living delicately, effeminate</td>\n", | |
" <td> abrobios</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03b2\u03b9\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td> 8</td>\n", | |
" <td> n45</td>\n", | |
" <td> 516</td>\n", | |
" <td> wailing womanishly</td>\n", | |
" <td> abrogoos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03b3\u03bf\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td> 11</td>\n", | |
" <td> n46</td>\n", | |
" <td> 768</td>\n", | |
" <td> living delicately|effeminacy</td>\n", | |
" <td> abrodiaitos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03b4\u03b9\u03b1\u03b9\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td> 9</td>\n", | |
" <td> n47</td>\n", | |
" <td> 511</td>\n", | |
" <td> with delicate|luxuriant leaves</td>\n", | |
" <td> abrokomhs</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03ba\u03bf\u03bc\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td> 8</td>\n", | |
" <td> n48</td>\n", | |
" <td> 493</td>\n", | |
" <td> without Bacchus</td>\n", | |
" <td> abromios</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03bc\u03b9\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td> 7</td>\n", | |
" <td> n49</td>\n", | |
" <td> 483</td>\n", | |
" <td> noiseless</td>\n", | |
" <td> abromos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03bc\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50</th>\n", | |
" <td> 11</td>\n", | |
" <td> n50</td>\n", | |
" <td> 572</td>\n", | |
" <td> with soft sandals</td>\n", | |
" <td> abropedilos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c0\u03b5\u03b4\u03b9\u03bb\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>51</th>\n", | |
" <td> 9</td>\n", | |
" <td> n51</td>\n", | |
" <td> 581</td>\n", | |
" <td> of delicate texture</td>\n", | |
" <td> abrophnos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c0\u03b7\u03bd\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>52</th>\n", | |
" <td> 11</td>\n", | |
" <td> n52</td>\n", | |
" <td> 1323</td>\n", | |
" <td> richly luxuriant</td>\n", | |
" <td> abroploutos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c0\u03bb\u03bf\u03c5\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>53</th>\n", | |
" <td> 5</td>\n", | |
" <td> n53</td>\n", | |
" <td> 373</td>\n", | |
" <td> delicate, graceful, beauteous, pretty|splendid...</td>\n", | |
" <td> abros</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>54</th>\n", | |
" <td> 8</td>\n", | |
" <td> n54</td>\n", | |
" <td> 1281</td>\n", | |
" <td> to miss|we may|miss</td>\n", | |
" <td> abrotazw</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c4\u03b1\u03b6\u03c9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>55</th>\n", | |
" <td> 7</td>\n", | |
" <td> n55</td>\n", | |
" <td> 681</td>\n", | |
" <td> delicacy, luxury|to be fastidious</td>\n", | |
" <td> abroths</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c4\u03b7\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>56</th>\n", | |
" <td> 9</td>\n", | |
" <td> n56</td>\n", | |
" <td> 793</td>\n", | |
" <td> delicate and costly</td>\n", | |
" <td> abrotimos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c4\u03b9\u03bc\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td> 7</td>\n", | |
" <td> n57</td>\n", | |
" <td> 743</td>\n", | |
" <td> without men, solitary</td>\n", | |
" <td> abrotos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c4\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td> 9</td>\n", | |
" <td> n58</td>\n", | |
" <td> 1933</td>\n", | |
" <td> in soft tunic, softly clad|with soft coverings</td>\n", | |
" <td> abroxitwn</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c7\u03b9\u03c4\u03c9\u03bd</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td> 7</td>\n", | |
" <td> n59</td>\n", | |
" <td> 1043</td>\n", | |
" <td> unwetted, unmoistened|wanting rain, waterless</td>\n", | |
" <td> abroxos</td>\n", | |
" <td> \u03b1\u03b2\u03c1\u03bf\u03c7\u03bf\u03c3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th></th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>36490 rows \u00d7 6 columns</p>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 99, | |
"text": [ | |
" CharCount Id Isopsephy \\\n", | |
"0 6 n0 573 \n", | |
"1 5 n1 213 \n", | |
"2 6 n2 652 \n", | |
"3 5 n3 572 \n", | |
"4 3 n4 802 \n", | |
"5 6 n5 829 \n", | |
"6 6 n6 232 \n", | |
"7 10 n7 1599 \n", | |
"8 5 n8 39 \n", | |
"9 6 n9 312 \n", | |
"10 11 n10 1035 \n", | |
"11 11 n11 1219 \n", | |
"12 10 n12 845 \n", | |
"13 10 n13 1095 \n", | |
"14 6 n14 574 \n", | |
"15 4 n15 6 \n", | |
"16 9 n16 633 \n", | |
"17 11 n17 725 \n", | |
"18 8 n18 291 \n", | |
"19 8 n19 318 \n", | |
"20 9 n20 454 \n", | |
"21 9 n21 713 \n", | |
"22 8 n22 784 \n", | |
"23 5 n23 283 \n", | |
"24 7 n24 1383 \n", | |
"25 8 n25 52 \n", | |
"26 7 n26 244 \n", | |
"27 9 n27 909 \n", | |
"28 5 n28 241 \n", | |
"29 7 n29 611 \n", | |
"30 7 n30 849 \n", | |
"31 8 n31 1011 \n", | |
"32 10 n32 1753 \n", | |
"33 9 n33 668 \n", | |
"34 6 n34 391 \n", | |
"35 7 n35 651 \n", | |
"36 9 n36 871 \n", | |
"37 11 n37 1171 \n", | |
"38 7 n38 1308 \n", | |
"39 7 n39 514 \n", | |
"40 7 n40 773 \n", | |
"41 7 n41 981 \n", | |
"42 7 n42 330 \n", | |
"43 9 n43 684 \n", | |
"44 8 n44 455 \n", | |
"45 8 n45 516 \n", | |
"46 11 n46 768 \n", | |
"47 9 n47 511 \n", | |
"48 8 n48 493 \n", | |
"49 7 n49 483 \n", | |
"50 11 n50 572 \n", | |
"51 9 n51 581 \n", | |
"52 11 n52 1323 \n", | |
"53 5 n53 373 \n", | |
"54 8 n54 1281 \n", | |
"55 7 n55 681 \n", | |
"56 9 n56 793 \n", | |
"57 7 n57 743 \n", | |
"58 9 n58 1933 \n", | |
"59 7 n59 1043 \n", | |
" ... ... ... \n", | |
"\n", | |
" Translation Transliteration \\\n", | |
"0 hurtful, perilous, aweful aaatos \n", | |
"1 unbroken, not to be broken, hard, strong aaghs \n", | |
"2 not to be touched, resistless, invincible aaptos \n", | |
"3 insatiate aatos \n", | |
"4 to act recklessly|foolishly|I was infatuated aaw \n", | |
"5 to be speechless abakew \n", | |
"6 speechless, infantine abakhs \n", | |
"7 uninitiated in the Bacchic orgies|joyless abakxeutos \n", | |
"8 O that! abale \n", | |
"9 without weight: not burdensome abarhs \n", | |
"10 not examined by torture, untortured|unexamined... abasanistos \n", | |
"11 not ruled by a king abasileutos \n", | |
"12 not subject to enchantment abaskantos \n", | |
"13 not to be carried abastaktos \n", | |
"14 that hinders walking abatos \n", | |
"15 father abba \n", | |
"16 a man of Abdera abdhriths \n", | |
"17 like an Abderite|stupid abdhritikos \n", | |
"18 unstable abebaios \n", | |
"19 not profane, inviolable abebhlos \n", | |
"20 silliness, stupidity, fatuity abelteria \n", | |
"21 good for nothing, silly, stupid, fatuous abelteros \n", | |
"22 unforced, without violence abiastos \n", | |
"23 simple in life abios \n", | |
"24 not to be lived, insupportable|life is intoler... abiwtos \n", | |
"25 harmlessness ablabeia \n", | |
"26 without doing harm ablabhs \n", | |
"27 without eye-lids ablefaros \n", | |
"28 not thrown|shot|not yet used ablhs \n", | |
"29 not hit ablhtos \n", | |
"30 without bleatings ablhxhs \n", | |
"31 weak, feeble|easy|violent ablhxros \n", | |
"32 NaN ablhxrwdhs \n", | |
"33 helpless abohqhtos \n", | |
"34 without summons abohti \n", | |
"35 not loudly lamented abohtos \n", | |
"36 ungrazed aboskhtos \n", | |
"37 untended by herdsmen|unheeded aboukolhtos \n", | |
"38 to be unwilling aboulew \n", | |
"39 want of counsel, thoughtlessness aboulia \n", | |
"40 inconsiderate, ill-advised|taking no thought|i... aboulos \n", | |
"41 without oxen|poor abouths \n", | |
"42 of no weight abriqhs \n", | |
"43 softly|delicately stepping abrobaths \n", | |
"44 living delicately, effeminate abrobios \n", | |
"45 wailing womanishly abrogoos \n", | |
"46 living delicately|effeminacy abrodiaitos \n", | |
"47 with delicate|luxuriant leaves abrokomhs \n", | |
"48 without Bacchus abromios \n", | |
"49 noiseless abromos \n", | |
"50 with soft sandals abropedilos \n", | |
"51 of delicate texture abrophnos \n", | |
"52 richly luxuriant abroploutos \n", | |
"53 delicate, graceful, beauteous, pretty|splendid... abros \n", | |
"54 to miss|we may|miss abrotazw \n", | |
"55 delicacy, luxury|to be fastidious abroths \n", | |
"56 delicate and costly abrotimos \n", | |
"57 without men, solitary abrotos \n", | |
"58 in soft tunic, softly clad|with soft coverings abroxitwn \n", | |
"59 unwetted, unmoistened|wanting rain, waterless abroxos \n", | |
" ... ... \n", | |
"\n", | |
" Word \n", | |
"0 \u03b1\u03b1\u03b1\u03c4\u03bf\u03c3 \n", | |
"1 \u03b1\u03b1\u03b3\u03b7\u03c3 \n", | |
"2 \u03b1\u03b1\u03c0\u03c4\u03bf\u03c3 \n", | |
"3 \u03b1\u03b1\u03c4\u03bf\u03c3 \n", | |
"4 \u03b1\u03b1\u03c9 \n", | |
"5 \u03b1\u03b2\u03b1\u03ba\u03b5\u03c9 \n", | |
"6 \u03b1\u03b2\u03b1\u03ba\u03b7\u03c3 \n", | |
"7 \u03b1\u03b2\u03b1\u03ba\u03c7\u03b5\u03c5\u03c4\u03bf\u03c3 \n", | |
"8 \u03b1\u03b2\u03b1\u03bb\u03b5 \n", | |
"9 \u03b1\u03b2\u03b1\u03c1\u03b7\u03c3 \n", | |
"10 \u03b1\u03b2\u03b1\u03c3\u03b1\u03bd\u03b9\u03c3\u03c4\u03bf\u03c3 \n", | |
"11 \u03b1\u03b2\u03b1\u03c3\u03b9\u03bb\u03b5\u03c5\u03c4\u03bf\u03c3 \n", | |
"12 \u03b1\u03b2\u03b1\u03c3\u03ba\u03b1\u03bd\u03c4\u03bf\u03c3 \n", | |
"13 \u03b1\u03b2\u03b1\u03c3\u03c4\u03b1\u03ba\u03c4\u03bf\u03c3 \n", | |
"14 \u03b1\u03b2\u03b1\u03c4\u03bf\u03c3 \n", | |
"15 \u03b1\u03b2\u03b2\u03b1 \n", | |
"16 \u03b1\u03b2\u03b4\u03b7\u03c1\u03b9\u03c4\u03b7\u03c3 \n", | |
"17 \u03b1\u03b2\u03b4\u03b7\u03c1\u03b9\u03c4\u03b9\u03ba\u03bf\u03c3 \n", | |
"18 \u03b1\u03b2\u03b5\u03b2\u03b1\u03b9\u03bf\u03c3 \n", | |
"19 \u03b1\u03b2\u03b5\u03b2\u03b7\u03bb\u03bf\u03c3 \n", | |
"20 \u03b1\u03b2\u03b5\u03bb\u03c4\u03b5\u03c1\u03b9\u03b1 \n", | |
"21 \u03b1\u03b2\u03b5\u03bb\u03c4\u03b5\u03c1\u03bf\u03c3 \n", | |
"22 \u03b1\u03b2\u03b9\u03b1\u03c3\u03c4\u03bf\u03c3 \n", | |
"23 \u03b1\u03b2\u03b9\u03bf\u03c3 \n", | |
"24 \u03b1\u03b2\u03b9\u03c9\u03c4\u03bf\u03c3 \n", | |
"25 \u03b1\u03b2\u03bb\u03b1\u03b2\u03b5\u03b9\u03b1 \n", | |
"26 \u03b1\u03b2\u03bb\u03b1\u03b2\u03b7\u03c3 \n", | |
"27 \u03b1\u03b2\u03bb\u03b5\u03c6\u03b1\u03c1\u03bf\u03c3 \n", | |
"28 \u03b1\u03b2\u03bb\u03b7\u03c3 \n", | |
"29 \u03b1\u03b2\u03bb\u03b7\u03c4\u03bf\u03c3 \n", | |
"30 \u03b1\u03b2\u03bb\u03b7\u03c7\u03b7\u03c3 \n", | |
"31 \u03b1\u03b2\u03bb\u03b7\u03c7\u03c1\u03bf\u03c3 \n", | |
"32 \u03b1\u03b2\u03bb\u03b7\u03c7\u03c1\u03c9\u03b4\u03b7\u03c3 \n", | |
"33 \u03b1\u03b2\u03bf\u03b7\u03b8\u03b7\u03c4\u03bf\u03c3 \n", | |
"34 \u03b1\u03b2\u03bf\u03b7\u03c4\u03b9 \n", | |
"35 \u03b1\u03b2\u03bf\u03b7\u03c4\u03bf\u03c3 \n", | |
"36 \u03b1\u03b2\u03bf\u03c3\u03ba\u03b7\u03c4\u03bf\u03c3 \n", | |
"37 \u03b1\u03b2\u03bf\u03c5\u03ba\u03bf\u03bb\u03b7\u03c4\u03bf\u03c3 \n", | |
"38 \u03b1\u03b2\u03bf\u03c5\u03bb\u03b5\u03c9 \n", | |
"39 \u03b1\u03b2\u03bf\u03c5\u03bb\u03b9\u03b1 \n", | |
"40 \u03b1\u03b2\u03bf\u03c5\u03bb\u03bf\u03c3 \n", | |
"41 \u03b1\u03b2\u03bf\u03c5\u03c4\u03b7\u03c3 \n", | |
"42 \u03b1\u03b2\u03c1\u03b9\u03b8\u03b7\u03c3 \n", | |
"43 \u03b1\u03b2\u03c1\u03bf\u03b2\u03b1\u03c4\u03b7\u03c3 \n", | |
"44 \u03b1\u03b2\u03c1\u03bf\u03b2\u03b9\u03bf\u03c3 \n", | |
"45 \u03b1\u03b2\u03c1\u03bf\u03b3\u03bf\u03bf\u03c3 \n", | |
"46 \u03b1\u03b2\u03c1\u03bf\u03b4\u03b9\u03b1\u03b9\u03c4\u03bf\u03c3 \n", | |
"47 \u03b1\u03b2\u03c1\u03bf\u03ba\u03bf\u03bc\u03b7\u03c3 \n", | |
"48 \u03b1\u03b2\u03c1\u03bf\u03bc\u03b9\u03bf\u03c3 \n", | |
"49 \u03b1\u03b2\u03c1\u03bf\u03bc\u03bf\u03c3 \n", | |
"50 \u03b1\u03b2\u03c1\u03bf\u03c0\u03b5\u03b4\u03b9\u03bb\u03bf\u03c3 \n", | |
"51 \u03b1\u03b2\u03c1\u03bf\u03c0\u03b7\u03bd\u03bf\u03c3 \n", | |
"52 \u03b1\u03b2\u03c1\u03bf\u03c0\u03bb\u03bf\u03c5\u03c4\u03bf\u03c3 \n", | |
"53 \u03b1\u03b2\u03c1\u03bf\u03c3 \n", | |
"54 \u03b1\u03b2\u03c1\u03bf\u03c4\u03b1\u03b6\u03c9 \n", | |
"55 \u03b1\u03b2\u03c1\u03bf\u03c4\u03b7\u03c3 \n", | |
"56 \u03b1\u03b2\u03c1\u03bf\u03c4\u03b9\u03bc\u03bf\u03c3 \n", | |
"57 \u03b1\u03b2\u03c1\u03bf\u03c4\u03bf\u03c3 \n", | |
"58 \u03b1\u03b2\u03c1\u03bf\u03c7\u03b9\u03c4\u03c9\u03bd \n", | |
"59 \u03b1\u03b2\u03c1\u03bf\u03c7\u03bf\u03c3 \n", | |
" ... \n", | |
"\n", | |
"[36490 rows x 6 columns]" | |
] | |
} | |
], | |
"prompt_number": 99 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 3, | |
"metadata": {}, | |
"source": [ | |
"Histogram of the isopsephy values of the words" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"f, ax1 = plt.subplots()\n", | |
"f.set_size_inches(10.0,5.0)\n", | |
"df['Isopsephy'].hist(bins=49, ax=ax1)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 98, | |
"text": [ | |
"<matplotlib.axes.AxesSubplot at 0x10af774d0>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10b3ab150>" | |
] | |
} | |
], | |
"prompt_number": 98 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 3, | |
"metadata": {}, | |
"source": [ | |
"How many times each letter occurs on all dictionary words?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"# concatenate all words and get character counts and vowel information per character\n", | |
"text = ''.join(df['Transliteration'])\n", | |
"charstats = {'count': {}, 'greek': {}, 'value': {}}\n", | |
"\n", | |
"for num, data in perseus.data.items():\n", | |
" if data.has_key('roman'):\n", | |
" letter = data['roman']\n", | |
" else:\n", | |
" letter = \"%s\" % num\n", | |
" charstats['value'][letter] = num\n", | |
" charstats['count'][letter] = text.count(letter)\n", | |
" charstats['greek'][letter] = data['greek']\n", | |
"\n", | |
"df2 = pd.DataFrame(charstats)\n", | |
"df2.sort('value')" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"html": [ | |
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>count</th>\n", | |
" <th>greek</th>\n", | |
" <th>value</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>a</th>\n", | |
" <td> 32890</td>\n", | |
" <td> \u03b1</td>\n", | |
" <td> 1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>b</th>\n", | |
" <td> 2738</td>\n", | |
" <td> \u03b2</td>\n", | |
" <td> 2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>g</th>\n", | |
" <td> 5509</td>\n", | |
" <td> \u03b3</td>\n", | |
" <td> 3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>d</th>\n", | |
" <td> 6573</td>\n", | |
" <td> \u03b4</td>\n", | |
" <td> 4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>e</th>\n", | |
" <td> 22380</td>\n", | |
" <td> \u03b5</td>\n", | |
" <td> 5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td> 0</td>\n", | |
" <td> \u03db</td>\n", | |
" <td> 6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>z</th>\n", | |
" <td> 2141</td>\n", | |
" <td> \u03b6</td>\n", | |
" <td> 7</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>h</th>\n", | |
" <td> 10370</td>\n", | |
" <td> \u03b7</td>\n", | |
" <td> 8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>q</th>\n", | |
" <td> 4112</td>\n", | |
" <td> \u03b8</td>\n", | |
" <td> 9</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>i</th>\n", | |
" <td> 26097</td>\n", | |
" <td> \u03b9</td>\n", | |
" <td> 10</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>k</th>\n", | |
" <td> 11435</td>\n", | |
" <td> \u03ba</td>\n", | |
" <td> 20</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>l</th>\n", | |
" <td> 11163</td>\n", | |
" <td> \u03bb</td>\n", | |
" <td> 30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>m</th>\n", | |
" <td> 12252</td>\n", | |
" <td> \u03bc</td>\n", | |
" <td> 40</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>n</th>\n", | |
" <td> 14271</td>\n", | |
" <td> \u03bd</td>\n", | |
" <td> 50</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>c</th>\n", | |
" <td> 1612</td>\n", | |
" <td> \u03be</td>\n", | |
" <td> 60</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>o</th>\n", | |
" <td> 33535</td>\n", | |
" <td> \u03bf</td>\n", | |
" <td> 70</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>p</th>\n", | |
" <td> 14533</td>\n", | |
" <td> \u03c0</td>\n", | |
" <td> 80</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>90</th>\n", | |
" <td> 0</td>\n", | |
" <td> \u03d9</td>\n", | |
" <td> 90</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>r</th>\n", | |
" <td> 17929</td>\n", | |
" <td> \u03c1</td>\n", | |
" <td> 100</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>s</th>\n", | |
" <td> 29145</td>\n", | |
" <td> \u03c3</td>\n", | |
" <td> 200</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>t</th>\n", | |
" <td> 15542</td>\n", | |
" <td> \u03c4</td>\n", | |
" <td> 300</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>u</th>\n", | |
" <td> 13897</td>\n", | |
" <td> \u03c5</td>\n", | |
" <td> 400</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>f</th>\n", | |
" <td> 4476</td>\n", | |
" <td> \u03c6</td>\n", | |
" <td> 500</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>x</th>\n", | |
" <td> 3941</td>\n", | |
" <td> \u03c7</td>\n", | |
" <td> 600</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>y</th>\n", | |
" <td> 658</td>\n", | |
" <td> \u03c8</td>\n", | |
" <td> 700</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>w</th>\n", | |
" <td> 13160</td>\n", | |
" <td> \u03c9</td>\n", | |
" <td> 800</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>900</th>\n", | |
" <td> 0</td>\n", | |
" <td> \u03e1</td>\n", | |
" <td> 900</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>27 rows \u00d7 3 columns</p>\n", | |
"</div>" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 91, | |
"text": [ | |
" count greek value\n", | |
"a 32890 \u03b1 1\n", | |
"b 2738 \u03b2 2\n", | |
"g 5509 \u03b3 3\n", | |
"d 6573 \u03b4 4\n", | |
"e 22380 \u03b5 5\n", | |
"6 0 \u03db 6\n", | |
"z 2141 \u03b6 7\n", | |
"h 10370 \u03b7 8\n", | |
"q 4112 \u03b8 9\n", | |
"i 26097 \u03b9 10\n", | |
"k 11435 \u03ba 20\n", | |
"l 11163 \u03bb 30\n", | |
"m 12252 \u03bc 40\n", | |
"n 14271 \u03bd 50\n", | |
"c 1612 \u03be 60\n", | |
"o 33535 \u03bf 70\n", | |
"p 14533 \u03c0 80\n", | |
"90 0 \u03d9 90\n", | |
"r 17929 \u03c1 100\n", | |
"s 29145 \u03c3 200\n", | |
"t 15542 \u03c4 300\n", | |
"u 13897 \u03c5 400\n", | |
"f 4476 \u03c6 500\n", | |
"x 3941 \u03c7 600\n", | |
"y 658 \u03c8 700\n", | |
"w 13160 \u03c9 800\n", | |
"900 0 \u03e1 900\n", | |
"\n", | |
"[27 rows x 3 columns]" | |
] | |
} | |
], | |
"prompt_number": 91 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"f, ax1 = plt.subplots()\n", | |
"f.set_size_inches(10.0,5.0)\n", | |
"df2['count'].plot(kind='bar')" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 97, | |
"text": [ | |
"<matplotlib.axes.AxesSubplot at 0x10adbcfd0>" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAFACAYAAABtFXLwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1YlGW+B/DvGKzlyovQCsqwUTGKIALZDmpa+I56NMs9\neLQCFXfLTounOhss59qkbXehc3Yv02y009pmtSuyuaLtuSTfsLWu8oWkNKzIRGV46QVRfC3kOX84\njCKvM3PfzP3M8/1cF1fOM8zX3/PzAe64fzNj0jRNAxERERFJ18fbBRAREREZBRdeRERERL2ECy8i\nIiKiXsKFFxEREVEv4cKLiIiIqJdw4UVERETUS7pceF28eBHJyclITExEbGwsfvWrXwEA8vLyYDab\nkZSUhKSkJGzdutX5mPz8fFgsFsTExGDbtm3O42VlZYiPj4fFYsHSpUudxy9duoS5c+fCYrFg1KhR\nOH78uOhzJCIiIlJClwuvG2+8EaWlpSgvL8fHH3+M0tJSvPvuuzCZTHjiiSdw8OBBHDx4ENOmTQMA\nVFRUYMOGDaioqEBJSQkeffRRtL5M2JIlS7B27VpUVlaisrISJSUlAIC1a9ciNDQUlZWVePzxx5Gd\nnS35lImIiIi8o9utxn79+gEAvvvuO1y+fBkDBgwAAHT0uqubN2/GvHnz4O/vj6ioKERHR2Pv3r2o\nra1FU1MTrFYrACA9PR3FxcUAgC1btiAjIwMAMGfOHOzcuVPMmREREREpptuFV0tLCxITExEWFobx\n48cjLi4OAPDCCy8gISEBmZmZaGxsBADU1NTAbDY7H2s2m2G329sdj4iIgN1uBwDY7XZERkYCAPz8\n/BAUFISGhgZxZ0hERESkiG4XXn369EF5eTmqq6vxz3/+E7t378aSJUtw7NgxlJeXY9CgQXjyySd7\no1YiIiIiXfPr6ScGBQVhxowZOHDgAFJSUpzHFy9ejJkzZwK48puskydPOu+rrq6G2WxGREQEqqur\n2x1vfcyJEycwePBgNDc34/Tp0wgJCWn390dHR+Po0aMunyARERFRb0tISEB5eXm7413+xuubb75x\nbiNeuHAB27dvR1JSEurq6pyfs2nTJsTHxwMAZs2ahcLCQnz33Xc4duwYKisrYbVaER4ejsDAQOzd\nuxeapuH111/Hvffe63zMunXrAABvvvkmJk6c2GEtR48ehaZpPf5YtmyZS5/vjUzWqGYea1Q3kzUa\nI481qpvJGnv+8dFHH3W4nunyN161tbXIyMhAS0sLWlpa8NBDD2HixIlIT09HeXk5TCYTbr31Vrz0\n0ksAgNjYWKSlpSE2NhZ+fn6w2WwwmUwAAJvNhgULFuDChQuYPn06UlNTAQCZmZl46KGHYLFYEBoa\nisLCwq5K6rGqqiohOTIzWaOaeTIyWaOaeTIyjVijEc9ZRiZrVDNPdGaXC6/4+Hh8+OGH7Y6/9tpr\nnT4mNzcXubm57Y6PHDkShw4dane8b9++KCoq6kmtRERERLp2Q15eXp63i+iJZ555Bq6UGhwcjKio\nKKE1iM5kjWrmychkjWrmycg0Yo1GPGcZmaxRzTx3Mztbt5g0TWv/glwKMplM0EmpREREZHCdrVt8\n9r0ad+/erXwma1QzT0Yma1QzT0amEWs04jnLyGSNauaJzvTZhRcRERGRarjVSERERCSY4bYaiYiI\niFTjswsv1fd4ZeTJyGSNaubJyGSNaubJyFQ9T0Yma1QzT0am6jX67MKLiIiISDWc8SIi8jGBgSFo\najrl9uMDAgbgzJkGgRURGU9n6xYuvIiIfMyVt2rz5Pslv98Secpww/Wq7/HKyJORyRrVzJORyRrV\nzJOTKTZPD+fMGtXMk5Gpeo0+u/AiIiIiUg23GomIfAy3Gom8z3Bbjb4qMDAEJpPJrY/AwBBvl09E\nRGRoPrvwUn2P1928K89U0rr4KO30Pnee5eSrfeztTNaoZp6MTD3UyBkvNTNZo5p5ojN9duFFRERE\npBrOeOmMZ7Mb7CGREXDGi8j7OONFRERE5GU+u/BSfY9XRp4jVWyaQfvIGtXMZI3CEsWm6eCcWaOa\neTIyVa/RZxdeRERERKrhjJfOcMaLiLrDGS8i7+OMFxEREZGX+ezCS/U9Xhl5jlSxaQbtI2tUM5M1\nCksUm6aDc2aNaubJyFS9Rp9deBERERGphjNeOsMZLyLqDme8iLyPM15EREREXuazCy/V93hl5DlS\nxaYZtI+sUc1M1igsUWyaDs6ZNaqZJyNT9Rp9duFFREREpBrOeOkMZ7yIqDuc8SLyPs54EREREXmZ\nzy68VN/jlZHnSBWbZtA+skY1M1mjsESxaTo4Z9aoZp6MTNVr7HLhdfHiRSQnJyMxMRGxsbH41a9+\nBQBoaGjA5MmTMWTIEEyZMgWNjY3Ox+Tn58NisSAmJgbbtm1zHi8rK0N8fDwsFguWLl3qPH7p0iXM\nnTsXFosFo0aNwvHjx4WdHBEREZFKup3xOn/+PPr164fm5maMHTsWf/jDH7BlyxbcfPPNeOqpp/Dc\nc8/h1KlTKCgoQEVFBebPn4/9+/fDbrdj0qRJqKyshMlkgtVqxapVq2C1WjF9+nRkZWUhNTUVNpsN\nhw8fhs1mw4YNG7Bp0yYUFha2L5QzXgA440VE3eOMF5H3uT3j1a9fPwDAd999h8uXL2PAgAHYsmUL\nMjIyAAAZGRkoLi4GAGzevBnz5s2Dv78/oqKiEB0djb1796K2thZNTU2wWq0AgPT0dOdjrs2aM2cO\ndu7cKeB0iYiIiNTT7cKrpaUFiYmJCAsLw/jx4xEXF4f6+nqEhYUBAMLCwlBfXw8AqKmpgdlsdj7W\nbDbDbre3Ox4REQG73Q4AsNvtiIyMBAD4+fkhKCgIDQ0NHp+Y6nu8MvIcqWLTDNpH1qhmJmsUlig2\nTQfnzBrVzJORqXqNft19Qp8+fVBeXo7Tp09j6tSpKC0tbXO/yWRy/FqbiIiIiLrS7cKrVVBQEGbM\nmIGysjKEhYWhrq4O4eHhqK2txcCBAwFc+U3WyZMnnY+prq6G2WxGREQEqqur2x1vfcyJEycwePBg\nNDc34/Tp0wgJCemwhgULFiAqKgoAEBwcjMTERKSkpAC4uhptvd16rLP73b19bbY38q55hOO/KS7e\nFlu/O7dTUlKUzmsl8voRnafK9egLt33xenQ8Ap1/P+j+flf/Pl7fat72xetb1eux9c9VVVXoSpfD\n9d988w38/PwQHByMCxcuYOrUqVi2bBnefvtthIaGIjs7GwUFBWhsbGwzXL9v3z7ncP0XX3wBk8mE\n5ORkrFy5ElarFTNmzGgzXH/o0CGsXr0ahYWFKC4u5nB9FzhcT0Td4XA9kfe5NVxfW1uLCRMmIDEx\nEcnJyZg5cyYmTpyInJwcbN++HUOGDMGuXbuQk5MDAIiNjUVaWhpiY2Mxbdo02Gw25zakzWbD4sWL\nYbFYEB0djdTUVABAZmYmvv32W1gsFjz//PMoKCgQcsLXr1BVzJRR4/W/2fI4zaB9ZI1qZrJGYYli\n03RwzqxRzTwZmarX2OVWY3x8PD788MN2x0NCQrBjx44OH5Obm4vc3Nx2x0eOHIlDhw61O963b18U\nFRX1tF4iIiIi3eJ7NeoMtxqJqDvcaiTyPr5XIxEREZGX+ezCS/U9Xhl5jlSxaQbtI2tUM5M1CksU\nm6aDc2aNaubJyFS9xh6/nAQREZGRBAaGoKnplNuPDwgYgDNnPH9BcPItnPHSGc54EVF3OOMlBvtI\nnuCMFxEREZGX+ezCS/U9Xhl5jlSxaQbtI2tUM5M1CksUm6aDc+b3WzXzZGSqXqPPLryIiIiIVMMZ\nL53hjBcRdYezSWKwj+QJzngREREReZnPLrxU3+OVkedIFZtm0D6yRjUzWaOwRLFpOjhnfr9VM09G\npuo1+uzCi4iIiEg1nPHSGc54EVF3OJskBvtInuCMFxEREZGX+ezCS/U9Xhl5jlSxaQbtI2tUM5M1\nCksUm6aDc+b3WzXzZGSqXqPPLryIiIiIVMMZL53hjBcRdYezSWKwj+QJzngREREReZnPLrxU3+OV\nkedIFZtm0D6yRjUzWaOwRLFpOjhnfr9VM09Gpuo1+uzCi4iIiEg1nPHSGc54EVF3OJskBvtInuCM\nFxEREZGX+ezCS/U9Xhl5jlSxaQbtI2tUM5M1CksUm6aDc+b3WzXzZGSqXqPPLryIiIiIVMMZL53h\njBcRdYezSWKwj+QJzngREREReZnPLrxU3+OVkedIFZtm0D6yRjUzWaOwRLFpOjhnfr9VM09Gpuo1\n+glLIiLDCQwMQVPTKbceGxAwAGfONAiuiIhIbZzx0hnOeJFKeD2qibNJYrCP5AnOeBERERF5mc8u\nvFTf45WR50gVm2bQPrJGYali0wzaR854qZfnSBWbZtA+Gq3GLhdeJ0+exPjx4xEXF4fhw4dj5cqV\nAIC8vDyYzWYkJSUhKSkJW7dudT4mPz8fFosFMTEx2LZtm/N4WVkZ4uPjYbFYsHTpUufxS5cuYe7c\nubBYLBg1ahSOHz8u7OSIiIiIVNLljFddXR3q6uqQmJiIs2fPYuTIkSguLkZRURECAgLwxBNPtPn8\niooKzJ8/H/v374fdbsekSZNQWVkJk8kEq9WKVatWwWq1Yvr06cjKykJqaipsNhsOHz4Mm82GDRs2\nYNOmTSgsLGxfKGe8AHCmhtTC61FNnE0Sg30kT7g14xUeHo7ExEQAQP/+/TFs2DDY7XYA6DBs8+bN\nmDdvHvz9/REVFYXo6Gjs3bsXtbW1aGpqgtVqBQCkp6ejuLgYALBlyxZkZGQAAObMmYOdO3d6cJpE\nRERE6urxjFdVVRUOHjyIUaNGAQBeeOEFJCQkIDMzE42NjQCAmpoamM1m52PMZjPsdnu74xEREc4F\nnN1uR2RkJADAz88PQUFBaGjw/Cnmqu/xyshzpIpNM2gfWaOwVLFpBu0jZ7zUy3Okik0zaB+NVmOP\nFl5nz57FT3/6U6xYsQL9+/fHkiVLcOzYMZSXl2PQoEF48sknhRVERERE5Ku6fQHV77//HnPmzMGD\nDz6I2bNnAwAGDhzovH/x4sWYOXMmgCu/yTp58qTzvurqapjNZkRERKC6urrd8dbHnDhxAoMHD0Zz\nczNOnz6NkJCQDmtZsGABoqKiAADBwcFITExESkoKgKur0dbbrcc6u9/d29dmeyPvmkc4/pvi4m2x\n9btzOyUlRem8ViKvH9F5vB7F3fbF69HxCHTe/+7vd/Xv4/Xd0W2x9atwPapwfat6Pbb+uaqqCl3p\ncrhe0zRkZGQgNDQUy5cvdx6vra3FoEGDAADLly/H/v378de//tU5XL9v3z7ncP0XX3wBk8mE5ORk\nrFy5ElarFTNmzGgzXH/o0CGsXr0ahYWFKC4u5nB9FzjMTCrh9agmDoWLwT6SJ9warn/vvffwxhtv\noLS0tM1LR2RnZ2PEiBFISEjAO++841yUxcbGIi0tDbGxsZg2bRpsNpvjwgVsNhsWL14Mi8WC6Oho\npKamAgAyMzPx7bffwmKx4Pnnn0dBQYGQE27/fyzqZcqo8fr/0/I4zaB9ZI3CUsWmGbSP4jPF5unh\nnHl9q5knI1P1Grvcahw7dixaWlraHZ82bVqnj8nNzUVubm674yNHjsShQ4faHe/bty+Kiop6UisR\nERGRrvG9GnWGWzukEl6PauIWmRjsI3mC79VIRERE5GU+u/BSfY9XRp4jVWyaQfvIGoWlik0zaB85\n46VeniNVbJpB+2i0Gn124UVERESkGs546QxnakglvB7VxNkkMdhH8gRnvIiIiIi8zGcXXqrv8crI\nc6SKTTNoH1mjsFSxaQbtI2e81MtzpIpNM2gfjVajzy68iIiIiFTDGS+d4UwNqYTXo5o4myQG+0ie\n4IwXERERkZf57MJL9T1eGXmOVLFpBu0jaxSWKjbNoH3kjJd6eY5UsWkG7aPRavTZhRcRERGRajjj\npTOcqSGV8HpUE2eTxGAfyROc8SIiIiLyMp9deKm+xysjz5EqNs2gfWSNwlLFphm0j5zxUi/PkSo2\nzaB9NFqNPrvwIiIiIlINZ7x0hjM1pBJej2ribJIY7CN5gjNeRNcIDAyByWRy6yMwMMTb5RMRkU75\n7MJL9T1eGXmOVLFpPtrHpqZTuPJ/sp19lHZ635XHyq+xtzN5PaqZJydTbJ4ezpnXt5p5MjJVr9Fn\nF15EREREquGMl85wpkYM9lEM9lFNnE0Sg30kT3DGi4iIiMjLfHbhpfoer4w8R6rYNPZRTBr7KCbN\noH3kjJd6eY5UsWkG7aPRavTZhRcRERGRajjjpTOcqRGDfRSDfVQTZ5PEYB/JE5zxIiIiIvIyn114\nqb7HKyPPkSo2jX0Uk8Y+ikkzaB8546VeniNVbJpB+2i0Gn124UVERESkGs546QxnasRgH8VgH9XE\n2SQx2EfyBGe8iIiIiLzMZxdequ/xyshzpIpNYx/FpLGPYtIM2kfOeKmX50gVm2bQPhqtxi4XXidP\nnsT48eMRFxeH4cOHY+XKlQCAhoYGTJ48GUOGDMGUKVPQ2NjofEx+fj4sFgtiYmKwbds25/GysjLE\nx8fDYrFg6dKlzuOXLl3C3LlzYbFYMGrUKBw/flzYyRERERGppMsZr7q6OtTV1SExMRFnz57FyJEj\nUVxcjD//+c+4+eab8dRTT+G5557DqVOnUFBQgIqKCsyfPx/79++H3W7HpEmTUFlZCZPJBKvVilWr\nVsFqtWL69OnIyspCamoqbDYbDh8+DJvNhg0bNmDTpk0oLCxsXyhnvABwpkYU9lEM9lFNnE0Sg30k\nT7g14xUeHo7ExEQAQP/+/TFs2DDY7XZs2bIFGRkZAICMjAwUFxcDADZv3ox58+bB398fUVFRiI6O\nxt69e1FbW4umpiZYrVYAQHp6uvMx12bNmTMHO3fuFHTKRERERGrp8YxXVVUVDh48iOTkZNTX1yMs\nLAwAEBYWhvr6egBATU0NzGaz8zFmsxl2u73d8YiICNjtdgCA3W5HZGQkAMDPzw9BQUFoaGjw+MRU\n3+OVkedIFZvGPopJYx/FpBm0j5zxUi/PkSo2zaB9NFqNPVp4nT17FnPmzMGKFSsQEBDQ5j6TyeT4\ndSwRERERdcWvu0/4/vvvMWfOHDz00EOYPXs2gCu/5aqrq0N4eDhqa2sxcOBAAFd+k3Xy5EnnY6ur\nq2E2mxEREYHq6up2x1sfc+LECQwePBjNzc04ffo0QkJCOqxlwYIFiIqKAgAEBwcjMTERKSkpAK6u\nRltvtx7r7H53b1+b7Y28ax7h+G+Ki7fF1u/O7ZSUFK/nObqAzvvV9f3u/H28Hju6LbZ+vV6Poq8f\nxyPg7vXtzt/H67uj22LrV+F6VOH6VvV6bP1zVVUVutLlcL2macjIyEBoaCiWL1/uPP7UU08hNDQU\n2dnZKCgoQGNjY5vh+n379jmH67/44guYTCYkJydj5cqVsFqtmDFjRpvh+kOHDmH16tUoLCxEcXEx\nh+u7wGFmMdhHMdhHNXEoXAz2kTzh1nD9e++9hzfeeAOlpaVISkpCUlISSkpKkJOTg+3bt2PIkCHY\ntWsXcnJyAACxsbFIS0tDbGwspk2bBpvN5tyGtNlsWLx4MSwWC6Kjo5GamgoAyMzMxLfffguLxYLn\nn38eBQUFQk64/f+xqJcpo8br/0/L4zT2UUwa+ygmzaB9FJ8pNk8P58zrW808GZmq19jlVuPYsWPR\n0tLS4X07duzo8Hhubi5yc3PbHR85ciQOHTrU7njfvn1RVFTUk1qJiIiIdI3v1agz3NoRg30Ug31U\nE7fIxGAfyRN8r0YiIiIiL/PZhZfqe7wy8hypYtPYRzFp7KOYNIP2kTNe6uU5UsWmGbSPRqvRZxde\nRERERKrhjJfOcKZGDPZRDPZRTZxNEoN9JE9wxouIiIjIy3x24aX6Hq+MPEeq2DT2UUwa+ygmzaB9\n5IyXenmOVLFpBu2j0Wr02YUXERERkWo446UznKkRg30Ug31UE2eTxGAfyROc8SIiIiLyMp9deKm+\nxysjz5EqNo19FJPGPopJM2gfOeOlXp4jVWyaQftotBp9duFFREREpBrOeOkMZ2rEYB/FYB/VZNTZ\npMDAEDQ1nXLrsQEBA3DmTEObY0btI4nR2bqFCy+d4Q86MdhHMdhHNRl1wSD6ejRqH0kMww3Xq77H\nKyPPkSo2jX0Uk8Y+ikkzaB854yUkUXCe+Ew99JE1es5nF15EREREquFWo85wa0cM9lEM9lFNRt0i\n41YjqcRwW41EREREqvHZhZfqe7wy8hypYtPYRzFp7KOYNIP2UfV5JyOes4xMPfSRNXrOZxdeRERE\nRKrhjJfOcKZGDPZRDPZRTUadTeKMF6mEM15EREREXuazCy/V93hl5DlSxaaxj2LS2EcxaQbto+rz\nTkY8ZxmZeugja/Sczy68iIiIiFTDGS+d4UyNGOyjGOyjmow6m8QZL1IJZ7yIiIiIvMxnF16q7/HK\nyHOkik1jH8WksY9i0gzaR9XnnYx4zjIy9dBH1ug5n114EREREamGM146w5kaMdhHMdhHNRl1Nokz\nXqQSzngREREReZnPLrxU3+OVkedIFZvGPopJYx/FpBm0j6rPOxnxnGVk6qGPrNFz3S68Fi1ahLCw\nMMTHxzuP5eXlwWw2IykpCUlJSdi6davzvvz8fFgsFsTExGDbtm3O42VlZYiPj4fFYsHSpUudxy9d\nuoS5c+fCYrFg1KhROH78uKhzIyIiUkpgYAhMJlOHH+PHj+/0PpPJhMDAEG+XTwJ0O+O1Z88e9O/f\nH+np6Th06BAA4JlnnkFAQACeeOKJNp9bUVGB+fPnY//+/bDb7Zg0aRIqKythMplgtVqxatUqWK1W\nTJ8+HVlZWUhNTYXNZsPhw4dhs9mwYcMGbNq0CYWFhe0L5YwXAM7UiMI+isE+qsmos0l6mPHi14xx\nuD3jNW7cOAwYMKDd8Y7CNm/ejHnz5sHf3x9RUVGIjo7G3r17UVtbi6amJlitVgBAeno6iouLAQBb\ntmxBRkYGAGDOnDnYuXOna2dGREREpBNuz3i98MILSEhIQGZmJhobGwEANTU1MJvNzs8xm82w2+3t\njkdERMButwMA7HY7IiMjAQB+fn4ICgpCQ0ODu2U5qb7HKyPPkSo2jX0Uk8Y+ikkzaB9Vn3cy4jnL\nyRSdZ8zrW/Ua/dx50JIlS/D0008DAH7961/jySefxNq1a4UV1ZkFCxYgKioKABAcHIzExESkpKQA\nuNqU1tvl5eVtbl9/vzu3y8vLvZ53VevtlOtu9+x+V/8+Eeer0m3HWaF9f1pvl193u+39rv59vB67\nvt/o16Po6+eK3XD3+m7N1Nv1fdX157MbV865s/Nt+3jZ13dvfb3o5bbo68db12Prn6uqqtCVHr2O\nV1VVFWbOnOmc8ersvoKCAgBATk4OACA1NRXPPPMMbrnlFowfPx5HjhwBAKxfvx7//Oc/sXr1aqSm\npiIvLw+jRo1Cc3MzBg0ahK+//rp9oZzxAsD5AFHYRzHYRzVxxsutR3PGi4QS+jpetbW1zj9v2rTJ\n+YzHWbNmobCwEN999x2OHTuGyspKWK1WhIeHIzAwEHv37oWmaXj99ddx7733Oh+zbt06AMCbb76J\niRMnulMSERERkfK6XXjNmzcPY8aMwWeffYbIyEi88soryM7OxogRI5CQkIB33nkHy5cvBwDExsYi\nLS0NsbGxmDZtGmw2m2N1D9hsNixevBgWiwXR0dFITU0FAGRmZuLbb7+FxWLB888/7/ytmafa/6pY\nvUwZNbb/lbWHaeyjmDT2UUyaQfsoPlNsnhHPWU6m6DxjXt+q19jtjNf69evbHVu0aFGnn5+bm4vc\n3Nx2x0eOHNnhVmXfvn1RVFTUXRlERORFgYEhaGo65dZjAwIG4MwZz580ReQL+F6NOsP5ADHYRzHY\nRzUZdTaJM16kEr5XIxGRorp6NfPuPvhq5kT64rMLL9X3eGXkOVLFprGPYtLYRzFpPtrHK1t4Whcf\npZ3e5972n+s19m4eZ7yEJSpwffd2puo1+uzCi4iIiEg1nPHSGc4HiME+isE+isHZJDGM2EdPnvQA\n8IkPMnW2bnHrleuJiIjI+65uU7v7eJO4YqhHfHarUfU9Xhl5jlSxaeyjmDT2UUwa+2iQPM54qZpp\n1K9BzngRERER6RBnvHRGD3MWesA+isE+imHE2SQZjNhHo74vpx7wdbyIiIiIvMxnF16q7/HKyHOk\nik1jH8WksY9i0thHg+Rxxsubmb39gr56+BrkjBcRERFJ0fUL+nb+Yr7uv6CvsXDGS2f0MGehB+yj\nGOyjGHqY+9HDv7UR+6iHGo2KM15EREREXuazCy/V93hl5DlSxaaxj2LS2EcxaeyjQfI446Vupug8\nfXwNcsaLiIiISIc446Uz3HsXg30Ug30Ug3M/Yhixj3qo0ag440VEJIAnT7V39+n2ROQ7fHbhpfoe\nr4w8R6rYNPZRTBr7KCZNgT52/VR7WU+3d61G/edxxkvdTNF5+vhexhkvIiIiIh3ijJfOcO9dDPZR\nDCP2UQ8zNXqoUQYj9lEPNRoVZ7yIiIiIvMxnF16q7/HKyHOkik1jH8WksY9i0nTQR2PO6YjO47+L\nupmi8/TxvYwzXkREREQ6xBkvneHeuxjsoxii+xgYGOLRm+wGBAzAmTMNbj++J/QwU6OHGmUwYh/1\nUKNRdbZu8fNCLUREHbr6Ug3uPt4krhgiIgl8dqtR9T1eGXmOVLFp7KOYNPbRa3mevOCpey926nqN\nvZ+peh5nvNTNFJ2nj+9lnPEiIuohT17w1JNtTyKijnDGS2e49y4G+yiGEedVWKOYPBmM2Ec91GhU\nfB0vIiIiIi/rduG1aNEihIWFIT4+3nmsoaEBkydPxpAhQzBlyhQ0NjY678vPz4fFYkFMTAy2bdvm\nPF5WVob4+HhYLBYsXbrUefzSpUuYO3cuLBYLRo0ahePHjws5MdX3eGXkOVLFprGPYtLYR0XzZGSK\nzpORqXoeZ7zUzRSdp4/vZb0647Vw4UKUlJS0OVZQUIDJkyfj888/x8SJE1FQUAAAqKiowIYNG1BR\nUYGSkhKrtgDaAAAbMElEQVQ8+uijzl+zLVmyBGvXrkVlZSUqKyudmWvXrkVoaCgqKyvx+OOPIzs7\nW9jJERERESlF64Fjx45pw4cPd94eOnSoVldXp2maptXW1mpDhw7VNE3Tfv/732sFBQXOz5s6dar2\n/vvvazU1NVpMTIzz+Pr167WHH37Y+TkffPCBpmma9v3332s333xzhzX0sFSfB0ADNDc/2MNWRuxj\nQMCAribMu/0ICBjQLlN0Hz3Lk5HJGmXVKIMR+6iHGo2qs164NeNVX1+PsLAwAEBYWBjq6+sBADU1\nNTCbzc7PM5vNsNvt7Y5HRETAbrcDAOx2OyIjIwEAfn5+CAoKQkOD3BdAJDKi7p/d1/UHn+FHROQ5\nj4frW1/vRjWq7/HKyHOkik1jH8Wk6aCPRp0vYY0q5vH6VjdTdJ4+fiaIzHTrlevDwsJQV1eH8PBw\n1NbWYuDAgQCu/Cbr5MmTzs+rrq6G2WxGREQEqqur2x1vfcyJEycwePBgNDc34/Tp0wgJ6fhFCxcs\nWICoqCgAQHBwMBITE5GSkgLgalNab5eXl7e5ff397twuLy/3et5VrbdTrrvds/td/ftEnK9Ktx1n\nhfb9ab1dft3ttve7+vepcj1e1fZ8rtwu7/R8O7t+us7r+f2yr+/OP7+726LzUjrJa/2czh7v2vXo\naV5rZs+vH/fyjHZ9d3/9iM7r2W3Xrx/X8nr7+6O3vt+2/rmqqgpd6sk+5fUzXr/85S+ds1z5+fla\ndna2pmma9sknn2gJCQnapUuXtC+//FK77bbbtJaWFk3TNM1qtWoffPCB1tLSok2bNk3bunWrpmma\n9uKLL2qPPPKIpmlXZr/mzp3r0l6p0YB770IYsY+enTPnVVij+l8zRuyjHmo0qs560e1vvObNm4d3\n3nkH33zzDSIjI/Gb3/wGOTk5SEtLw9q1axEVFYWioiIAQGxsLNLS0hAbGws/Pz/YbDbnNqTNZsOC\nBQtw4cIFTJ8+HampqQCAzMxMPPTQQ7BYLAgNDUVhYWF3JRERERHpUy8vAN3maqmlpaXCaxCd6U4e\nuv0/kVKh/yfCPvpOHz07Z3f/z9i1PrJGvdboel53xH9d9/a/S+/0UQ81dkeFnwkyMjvrBV+5noiI\niKiX8L0adYbvoSWGEfuoh/d0Y40q5MnI5Hs1isnUZ41GxfdqJCIiIvIyn114tX86sHqZMmps/7Rk\nD9PYRzFpOuij6HOWkyk6T0am6DwZmarn8fpWN1N0nj5+JojM9NmFFxEREZFqOOOlM9x7F8OIfdTD\nLAhrVCFPRiZnvMRk6rNGo+KMFxEREZGX+ezCS/U9Xhl5jlSxaeyjmDQd9NGo8yWsUcU8Xt/qZorO\n08fPBM54EREREekQZ7x0hnvvYhixj3qYBWGNKuTJyOSMl5hMfdZoVJzxIiIiIvIyn114qb7HKyPP\nkSo2jX0Uk6aDPhp1voQ1qpjH61vdTNF5+viZwBkvIiIiIh3ijJfOcO9dDCP2UQ+zIKxRhTwZmZzx\nEpOpzxqNijNeRERERF7mswsv1fd4ZeQ5UsWmsY9i0nTQR6POl7BGFfN4faubKTpPHz8TOONFRERE\npEOc8dIZ7r2LYcQ+6mEWhDWqkCcjkzNeYjL1WaNRccaLiIiIyMt8duGl+h6vjDxHqtg09lFMmg76\naNT5EtaoYh6vb3UzRefp42cCZ7yIiIiIdIgzXjrDvXcxjNhHPcyCsEYV8mRkcsZLTKY+azQqzngR\nEREReZnPLrxU3+OVkedIFZvGPopJ00EfjTpfwhpVzOP1rW6m6Dx9/EwQmeknLIlIosDAEDQ1nXLr\nsQEBA3DmTIPgioiIiFzHGS+dMereu1pzEfrsox5mQVijCnkyMjnjJSZTnzUaFWe8iIiIiLzMZxde\nqu/xyshzpIpN00Ef9TAXwT6qmicjU3SejEzV83h9q5spOk8fP1v5Ol5EREREOsQZL50x6t67WnMR\n+uyjHmZBWKMKeTIyOeMlJlOfNRoVZ7yIiIiIvMyjhVdUVBRGjBiBpKQkWK1WAEBDQwMmT56MIUOG\nYMqUKWhsbHR+fn5+PiwWC2JiYrBt2zbn8bKyMsTHx8NisWDp0qWelOSk+h6vjDxHqtg0HfRRD3MR\n7KOqeTIyRefJyFQ9j9e3upmi8/Txs1WZGS+TyYTdu3fj4MGD2LdvHwCgoKAAkydPxueff46JEyei\noKAAAFBRUYENGzagoqICJSUlePTRR52/gluyZAnWrl2LyspKVFZWoqSkxMPTItK/wMAQmEymTj/G\njx/f6X2BgSHeLp+IiDrg0YzXrbfeigMHDiA0NNR5LCYmBu+88w7CwsJQV1eHlJQUfPrpp8jPz0ef\nPn2QnZ0NAEhNTUVeXh5uueUWTJgwAUeOHAEAFBYWYvfu3VizZk3bQjnjBcC4e+9qzUVwXkVMJmsU\nk6nPGmUwYh/1UKNRSZnxMplMmDRpEu688068/PLLAID6+nqEhYUBAMLCwlBfXw8AqKmpgdlsdj7W\nbDbDbre3Ox4REQG73e5JWURERERK8mjh9d577+HgwYPYunUrXnzxRezZs6fN/a3bHt6g+h6vjDxH\nqtg0HfRRD3MRevi31kMfWaNR8oz5fcKoNerhZ6sy79U4aNAgAMCPfvQj3Hfffdi3b59zizE8PBy1\ntbUYOHAggCu/yTp58qTzsdXV1TCbzYiIiEB1dXWb4xERER3+fQsWLEBUVBQAIDg4GImJiUhJSQFw\ntSmtt8vLy9vcvv5+d26Xl5d7Pe+q1tsp193u2f2u/n0izteT21fP4frz6dlt1/PKXcrr7ra712Pb\nWq+vp7yL+q9kiMtr+3hZ16PovKv/3p19fne3ReeldJLX+jmdPd6169HTvNbMnl8/7uX17vdH71/f\n3V8/ovN6dlv291tZ3x9V+/nf+ueqqip0xe0Zr/Pnz+Py5csICAjAuXPnMGXKFCxbtgw7duxAaGgo\nsrOzUVBQgMbGRhQUFKCiogLz58/Hvn37YLfbMWnSJHzxxRcwmUxITk7GypUrYbVaMWPGDGRlZSE1\nNbVtoZzxAmDcvXe15iI4ryImkzWKydRnjTIYsY96qNGoOlu3uP0br/r6etx3330AgObmZjzwwAOY\nMmUK7rzzTqSlpWHt2rWIiopCUVERACA2NhZpaWmIjY2Fn58fbDabcxvSZrNhwYIFuHDhAqZPn95u\n0UVERETkEzSdcLXU0tJS4TWIznQnD4AGaF18lHZxn+v/3Kr0sevz7uqcOz5vPfRRdI2e5fVOH1mj\nXmt0Pa87+v8+0Tt91EON3VHhZ6uMzM564dGMFxFdFRgYgqamU249NiBgAM6caRBcERERqYbv1agz\nRt17V2suouM+ql6jHmZBWKMKeTIyOeMlJlOfNRoV36uRiIiIyMt8duHV/unA6mXKqLH905I9TNNB\nH0Wfs5xM0XkyMkXnycgUnScjU3SejEzv53X3lljdfbj+tliu19j7maLzZGSKztPHz1aRmT678CIi\nInVdmYfUuvgo7fJ+d+cpibyNM146Y9S9d7XmIjjjJSaTNYrJZI1iMlmjmMz2eZ488QjQ75OPhL+O\n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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x10953b250>" | |
] | |
} | |
], | |
"prompt_number": 97 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [] | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import re | |
import pandas as pd | |
from os.path import isfile | |
from urllib import urlretrieve | |
from lxml import etree | |
from isopsephy import isopsephy, data, to_roman, to_greek, preprocess_roman, preprocess_greek | |
#fileName = "Perseus_text_1999.04.0058.xml" | |
def load_dataframe(fileName): | |
csvFileName = "%s.csv" % fileName | |
xmlFileName = "%s.xml" % fileName | |
if isfile(csvFileName): | |
print "Retrieving data from local csv copy..." | |
return pd.read_csv(csvFileName) | |
else: | |
return load_dataframe_xml(fileName) | |
def load_dataframe_xml(fileName): | |
xmlFileName = "%s.xml" % fileName | |
if isfile(xmlFileName): | |
print "Retrieving data from local xml copy..." | |
else: | |
print "Downloading and saving data to the local copy..." | |
urlretrieve("http://www.perseus.tufts.edu/hopper/dltext?doc=%s" % xmlFileName, xmlFileName) | |
try: | |
tree = etree.parse(xmlFileName) | |
print "XML tree loaded for pursuit!" | |
except Exception as e: | |
print(e.message) | |
ids = [] | |
words = [] | |
transliterations = [] | |
translations = [] | |
isopsephies = [] | |
charcounts = [] | |
# perseus dictionary words are divided to alphabetic sections | |
for div in tree.xpath("text/body/div0"): | |
# entry is the main element | |
for entry in div.xpath("entry"): | |
# collects word ids | |
ids.append(entry.attrib['id']) | |
# sanitize transliterated word and add to the collection | |
word = preprocess_roman(entry.attrib['key']) | |
transliterations.append(word) | |
# calculate characters | |
charcounts.append(len(word)) | |
# get isopsephy value of the word (still translitered) | |
val = isopsephy(word) | |
isopsephies.append(val) | |
# create greek version of the word and add to the collection | |
words.append(to_greek(word)) | |
# get translations for the word and add to the collection | |
for sense in entry.xpath("sense"): | |
trs = [] | |
for tr in sense.xpath("trans/tr//text()"): | |
tr = tr.encode('utf-8') | |
trs.append(tr) | |
translations.append('|'.join(trs)) | |
df = pd.DataFrame({'Id': ids, | |
'Word': words, | |
'Transliteration': transliterations, | |
'Translation': translations, | |
'Isopsephy': isopsephies, | |
'CharCount': charcounts | |
}) | |
df.to_csv("%s.csv" % fileName, index=False) | |
print "Data collected from xml file and saved to csv" | |
return df |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment