Symulacje i analiza danych w języku Python¶

(c) Przemysław Szufel, 2023

Spis treści¶

  1. Wprowadzenie - dzień 1

  2. Praca z danymi w język Python

    1. Pliki tekstowe
    2. Pliki CSV
    3. Pliki JSON
    4. Microsoft Excel
    5. Baza danych Oracle
    6. Ramki danych i wymiana danych z Gnu R
  1. Praca z biblioteką numpy

  2. Scraping danych z internetu

    1. Praca z modułem scrapy - scraping headless
    2. Praca z modułem selenium - scraping robotyczny
  1. Uczenie maszynowe z pakietem scikit-learn

  2. Wprowadzenie do symulacji

    1. Symulacje popytu
    2. Symulacje aktuarialne
    3. Symulacje na grafach

Wprowadzenie - dzień 1¶

In [5]:
# Ctrl+Enter - wysyla komorke do uruchomienia 
print("Hello SGH")
Hello SGH

Lista

  • element 1
  • element 2

    ### Tytul

    kod zrodlowy
In [6]:
# tworzy komorke kodu (code cell)
# wcisnij Ctrl+ENTER aby uruchomic 
for i in [1,2,3]:
    print("hello ", i)
    print("ja jestem w bloku")

print("a ja poza blokiem")
hello  1
ja jestem w bloku
hello  2
ja jestem w bloku
hello  3
ja jestem w bloku
a ja poza blokiem
In [7]:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,401)
y = np.sin(x) * np.cos(x) * x
plt.plot(x,y)

plt.savefig("c:/temp/fig.png")

plt.show()
In [8]:
import numpy as np
x = np.linspace(0,10,401)
type(x)
Out[8]:
numpy.ndarray
In [9]:
x = 5
print("type(x) ",type(x))

y = 5.5
print("type(y) ",type(y))

z = "ala"
print("type(z) ",type(z))

li = [1,2,3]
print("type(li) ",type(li))

kro = (1,2)
print("type(kro) ",type(kro))

slow = {1:2, 3:4}
print("type(slow) ",type(slow))

xx = np.linspace(0,10,401)
print("type(xx) ",type(xx))
type(x)  <class 'int'>
type(y)  <class 'float'>
type(z)  <class 'str'>
type(li)  <class 'list'>
type(kro)  <class 'tuple'>
type(slow)  <class 'dict'>
type(xx)  <class 'numpy.ndarray'>
In [10]:
t1 = "tekst a"
t2 = 'tekst b'

nowa_linia = "\r\n"

tabulacja = "\t"

t3 = t1+"\r\n"+t2+"\t\t"+"hello"
print(t3)

print("znak slash piszemy tak: \\" )
tekst a
tekst b		hello
znak slash piszemy tak: \
In [11]:
a = "ala ma kota"
a[0]
Out[11]:
'a'
In [12]:
# 3:5 znaczy - od (3+1)=4 znaku do (5+1)=6 znaku ale bez ostatniego znaku
# czyli dostane znaki 4 i 5
# od (3+1)=4 znaku wez (5-3)=2 znaki
a[ 3:5 ]
Out[12]:
' m'
In [13]:
a[-4:]
Out[13]:
'kota'
In [14]:
moj_tekst = "ala ma kota"
print(moj_tekst[0:2])

print(moj_tekst[2:5])
al
a m
In [15]:
"Ala" + "PIes"
Out[15]:
'AlaPIes'
In [16]:
"ala" + str(5)
Out[16]:
'ala5'
In [17]:
print("SGH"*5)
SGHSGHSGHSGHSGH
In [18]:
lista1 = [1,2,5]

lista2 = [1,2,"ala"]

lista3 = [lista1, lista2, [1,2,3], "ala"]

print(lista3)
[[1, 2, 5], [1, 2, 'ala'], [1, 2, 3], 'ala']
In [19]:
lista = [10,20,30,40,50,60]
# no el   0  1  2  3  4  5
lista.append(70)

print(lista)
[10, 20, 30, 40, 50, 60, 70]
In [20]:
print(lista[:3])
[10, 20, 30]
In [21]:
print("trzeci elementy od konca ",lista[-3])

print("od czwartego do drugiego od konca ",lista[-4:-1])

print("dwa ostanie elementy ",lista[-2:len(lista)])
print("dwa ostanie elementy ",lista[-2:7])
print("dwa ostanie elementy ",lista[-2:])

print(lista[1:4]) # zostana zwrocone (4-1)=3 elementy
trzeci elementy od konca  50
od czwartego do drugiego od konca  [40, 50, 60]
dwa ostanie elementy  [60, 70]
dwa ostanie elementy  [60, 70]
dwa ostanie elementy  [60, 70]
[20, 30, 40]
In [22]:
[1, 2, 3] + [4 , 5]
Out[22]:
[1, 2, 3, 4, 5]
In [23]:
["ala", 5] * 3
Out[23]:
['ala', 5, 'ala', 5, 'ala', 5]
In [24]:
print([1,2,3]+[4,5,6])
print([1,2]*2+[3,4])
[1, 2, 3, 4, 5, 6]
[1, 2, 1, 2, 3, 4]
In [25]:
lista = [1,2,3]
lista[2] = 77  # listy sa mutowalne (mutable)
print(lista)
[1, 2, 77]
In [26]:
krotka = (1,2,3,4,5,6,7)
In [27]:
try:
    krotka[1] = 11
except Exception as err: 
    print("BLAD!! nie mozna modyfikowac (mutowac) krotki!")
    print(err)
print("HELLO")
BLAD!! nie mozna modyfikowac (mutowac) krotki!
'tuple' object does not support item assignment
HELLO
In [28]:
krotka[-2:]
# ang.: tuple  pl.: krotka
Out[28]:
(6, 7)
In [29]:
slow = { 1:4, (2,3):44, "ala":"kot", 3:[1,2,3] }
In [30]:
slow.keys()
Out[30]:
dict_keys([1, (2, 3), 'ala', 3])
In [31]:
slow["ala"]
Out[31]:
'kot'
In [32]:
try:
    slow = { [1,3]:"ala"  } 
except Exception as err: 
    print("BLAD!! listy sa mutowalne i nie moga byc kluczami")
    print(err)

    
BLAD!! listy sa mutowalne i nie moga byc kluczami
unhashable type: 'list'
In [33]:
print(slow["ala"])
print(slow[(2,3)])
print(slow[3])
kot
44
[1, 2, 3]
In [34]:
a= [ x**2 for x in [3,4,5,6,7,8,9,10,11,12] if x % 2 == 1 ]
type(a)
Out[34]:
list
In [35]:
# comprehension

c = [ x*x  for x in [1,2,3,4,5]  ]
print(c)
print(type(c))

# leniwa lista
c2 = ( x*x  for x in [1,2,3,4,5]  )
print(list(c2))
print(type(c2))
[1, 4, 9, 16, 25]
<class 'list'>
[1, 4, 9, 16, 25]
<class 'generator'>
In [36]:
for i in range(1,10):
    print(i)
1
2
3
4
5
6
7
8
9
In [37]:
print(range(10))
print(list(range(10)))
print(type(range(10)))
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<class 'range'>
In [38]:
g = (x*x for x in range(10000000000))

for e in g:
    print(e)
    if e > 80:
        break
0
1
4
9
16
25
36
49
64
81
In [39]:
tm = { (a,b):a*b for a in [1,2,3] for b in [2,3,4]   }
tm
Out[39]:
{(1, 2): 2,
 (1, 3): 3,
 (1, 4): 4,
 (2, 2): 4,
 (2, 3): 6,
 (2, 4): 8,
 (3, 2): 6,
 (3, 3): 9,
 (3, 4): 12}
In [40]:
tm = {  (x,y):x*y for x in range(1,11) if x % 3 == 0  
      for y in range(1,11) if y % 3 == 0 }


print(tm)

#print(tm[(7,8)])$
{(3, 3): 9, (3, 6): 18, (3, 9): 27, (6, 3): 18, (6, 6): 36, (6, 9): 54, (9, 3): 27, (9, 6): 54, (9, 9): 81}
In [42]:
#del tm[(7,8)] # usuwanie elementu
In [43]:
len(tm)
Out[43]:
9
In [44]:
#kwadraty parzystych liczb n

k = [n*n for n in range(100) if n % 2 == 0]
print(k)
[0, 4, 16, 36, 64, 100, 144, 196, 256, 324, 400, 484, 576, 676, 784, 900, 1024, 1156, 1296, 1444, 1600, 1764, 1936, 2116, 2304, 2500, 2704, 2916, 3136, 3364, 3600, 3844, 4096, 4356, 4624, 4900, 5184, 5476, 5776, 6084, 6400, 6724, 7056, 7396, 7744, 8100, 8464, 8836, 9216, 9604]
In [45]:
def silnia(n):
    if n == 0:
        return 1
    else:
        return n*silnia(n-1)
In [46]:
silnia(5)
Out[46]:
120
In [47]:
silnia(500)
Out[47]:
1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
In [48]:
def f1 (x):
    return x*x-x-2

print(f1(10))

print(type(f1))

f2 = f1
print(f2(10))

xx = 5
f1(xx)
f1(5)
88
<class 'function'>
88
Out[48]:
18
In [49]:
f3 = (lambda x : x*x + 2*x)
f3
Out[49]:
<function __main__.<lambda>(x)>
In [50]:
(lambda x : x*x + 2*x)(40)
Out[50]:
1680
In [51]:
u = [-3, -4,  1, 6, 7]

sorted(u, key = lambda x : abs(x)) 
Out[51]:
[1, -3, -4, 6, 7]
In [52]:
print( sorted(u,key=lambda x : x*x  ))
[1, -3, -4, 6, 7]
In [53]:
def pochodna(f):
    h = 0.000000001
    f1 = lambda x : (f(x+h)-f(x))/h
    return f1

def funk1 (x):
    return x*x+3


funk2 = lambda x : 2*x*x+x-1
print(pochodna(funk1)(5))
print(pochodna(funk2)(3))
10.00000082740371
13.000001075624823
In [137]:
import boto.ec2
conn = boto.ec2.connect_to_region("us-east-1",
    aws_access_key_id='AKIAJGBLCUFPEHFLTPGQ',
    aws_secret_access_key=
    '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')
print(conn)
2023-03-04 14:36:35 [boto] DEBUG: Using access key provided by client.
2023-03-04 14:36:35 [boto] DEBUG: Using secret key provided by client.
EC2Connection:ec2.us-east-1.amazonaws.com
In [138]:
history = conn.get_spot_price_history(
        instance_type="c6i.4xlarge",
        product_description="Linux/UNIX",
        availability_zone="us-east-1c")
print(history[:5])
2023-03-04 14:36:39 [boto] DEBUG: Method: POST
2023-03-04 14:36:39 [boto] DEBUG: Path: /
2023-03-04 14:36:39 [boto] DEBUG: Data: 
2023-03-04 14:36:39 [boto] DEBUG: Headers: {}
2023-03-04 14:36:39 [boto] DEBUG: Host: ec2.us-east-1.amazonaws.com
2023-03-04 14:36:39 [boto] DEBUG: Port: 443
2023-03-04 14:36:39 [boto] DEBUG: Params: {'InstanceType': 'c6i.4xlarge', 'ProductDescription': 'Linux/UNIX', 'AvailabilityZone': 'us-east-1c', 'Action': 'DescribeSpotPriceHistory', 'Version': '2014-10-01'}
2023-03-04 14:36:39 [boto] DEBUG: establishing HTTPS connection: host=ec2.us-east-1.amazonaws.com, kwargs={'timeout': 70, 'port': 443}
2023-03-04 14:36:39 [boto] DEBUG: Token: None
2023-03-04 14:36:39 [boto] DEBUG: CanonicalRequest:
POST
/

host:ec2.us-east-1.amazonaws.com
x-amz-date:20230304T133639Z

host;x-amz-date
8cdcf357a02cfad7932066eb633982d00ddbdb36e580f471ee55e9d4591a2acf
2023-03-04 14:36:39 [boto] DEBUG: StringToSign:
AWS4-HMAC-SHA256
20230304T133639Z
20230304/us-east-1/ec2/aws4_request
e96baff5324961ed313dc9585027e9dcdf8e36ba372594d19474259b09dcabcf
2023-03-04 14:36:39 [boto] DEBUG: Signature:
6490a4c37cc5a20e029bdfda8592c5f430c3fe5cd3156782f627b2a9592eb72c
2023-03-04 14:36:39 [boto] DEBUG: Final headers: {'User-Agent': 'Boto/2.49.0 Python/3.9.12 Windows/10', 'X-Amz-Date': '20230304T133639Z', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Content-Length': '135', 'Authorization': 'AWS4-HMAC-SHA256 Credential=AKIAJGBLCUFPEHFLTPGQ/20230304/us-east-1/ec2/aws4_request,SignedHeaders=host;x-amz-date,Signature=6490a4c37cc5a20e029bdfda8592c5f430c3fe5cd3156782f627b2a9592eb72c', 'Host': 'ec2.us-east-1.amazonaws.com'}
2023-03-04 14:36:39 [boto] DEBUG: wrapping ssl socket; CA certificate file=C:\Anaconda3\lib\site-packages\boto\cacerts\cacerts.txt
2023-03-04 14:36:39 [boto] DEBUG: validating server certificate: hostname=ec2.us-east-1.amazonaws.com, certificate hosts=['ec2.us-east-1.amazonaws.com', 'ec2.amazonaws.com', 'us-east-1.ec2.amazonaws.com', '*.ec2.us-east-1.vpce.amazonaws.com', 'api.ec2.us-east-1.aws', 'ec2.us-east-1.api.aws']
2023-03-04 14:36:40 [boto] DEBUG: Response headers: [('x-amzn-RequestId', '1c2eb9b6-bf8c-4cb9-993d-3127ffdf4f96'), ('Cache-Control', 'no-cache, no-store'), ('Strict-Transport-Security', 'max-age=31536000; includeSubDomains'), ('vary', 'accept-encoding'), ('Content-Type', 'text/xml;charset=UTF-8'), ('Transfer-Encoding', 'chunked'), ('Date', 'Sat, 04 Mar 2023 13:36:40 GMT'), ('Server', 'AmazonEC2')]
2023-03-04 14:36:41 [boto] DEBUG: b'<?xml version="1.0" encoding="UTF-8"?>\n<DescribeSpotPriceHistoryResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">\n    <requestId>1c2eb9b6-bf8c-4cb9-993d-3127ffdf4f96</requestId>\n    <spotPriceHistorySet>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.298100</spotPrice>\n            <timestamp>2023-03-04T09:06:32.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.297800</spotPrice>\n            <timestamp>2023-03-04T02:51:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.296300</spotPrice>\n            <timestamp>2023-03-03T19:21:33.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.295800</spotPrice>\n            <timestamp>2023-03-03T13:05:04.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.295400</spotPrice>\n            <timestamp>2023-03-03T05:46:45.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.295500</spotPrice>\n            <timestamp>2023-03-02T16:19:07.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.294800</spotPrice>\n            <timestamp>2023-03-02T09:47:34.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.295300</spotPrice>\n            <timestamp>2023-03-02T03:15:07.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.296100</spotPrice>\n            <timestamp>2023-03-01T19:53:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.296300</spotPrice>\n            <timestamp>2023-03-01T00:56:24.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.297400</spotPrice>\n            <timestamp>2023-02-28T18:39:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287100</spotPrice>\n            <timestamp>2023-02-28T12:49:53.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287000</spotPrice>\n            <timestamp>2023-02-28T07:28:44.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286300</spotPrice>\n            <timestamp>2023-02-27T23:55:12.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286200</spotPrice>\n            <timestamp>2023-02-27T17:00:29.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284900</spotPrice>\n            <timestamp>2023-02-27T10:35:01.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285800</spotPrice>\n            <timestamp>2023-02-27T03:52:50.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286400</spotPrice>\n            <timestamp>2023-02-26T21:45:31.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286900</spotPrice>\n            <timestamp>2023-02-26T17:10:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286500</spotPrice>\n            <timestamp>2023-02-26T10:28:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286800</spotPrice>\n            <timestamp>2023-02-26T05:18:01.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286400</spotPrice>\n            <timestamp>2023-02-25T22:13:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286200</spotPrice>\n            <timestamp>2023-02-25T17:20:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286600</spotPrice>\n            <timestamp>2023-02-25T10:54:55.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286800</spotPrice>\n            <timestamp>2023-02-25T04:49:03.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286400</spotPrice>\n            <timestamp>2023-02-24T23:27:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286300</spotPrice>\n            <timestamp>2023-02-24T18:35:02.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285500</spotPrice>\n            <timestamp>2023-02-24T07:34:47.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285800</spotPrice>\n            <timestamp>2023-02-24T02:12:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285600</spotPrice>\n            <timestamp>2023-02-23T19:19:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284500</spotPrice>\n            <timestamp>2023-02-23T12:35:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284000</spotPrice>\n            <timestamp>2023-02-23T07:16:45.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283400</spotPrice>\n            <timestamp>2023-02-23T01:20:19.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283700</spotPrice>\n            <timestamp>2023-02-22T20:18:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283200</spotPrice>\n            <timestamp>2023-02-22T14:01:24.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282900</spotPrice>\n            <timestamp>2023-02-22T06:34:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.281500</spotPrice>\n            <timestamp>2023-02-21T23:42:15.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277800</spotPrice>\n            <timestamp>2023-02-21T18:08:12.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277800</spotPrice>\n            <timestamp>2023-02-21T17:45:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277900</spotPrice>\n            <timestamp>2023-02-21T06:45:41.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278200</spotPrice>\n            <timestamp>2023-02-21T00:16:00.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278900</spotPrice>\n            <timestamp>2023-02-20T17:14:31.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279300</spotPrice>\n            <timestamp>2023-02-20T06:52:34.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279500</spotPrice>\n            <timestamp>2023-02-20T00:01:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-02-19T18:31:35.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280100</spotPrice>\n            <timestamp>2023-02-19T13:47:06.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279800</spotPrice>\n            <timestamp>2023-02-19T06:12:25.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279900</spotPrice>\n            <timestamp>2023-02-18T23:20:47.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-02-18T18:37:32.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280000</spotPrice>\n            <timestamp>2023-02-18T03:51:05.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279800</spotPrice>\n            <timestamp>2023-02-17T23:15:55.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280000</spotPrice>\n            <timestamp>2023-02-17T16:50:24.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280700</spotPrice>\n            <timestamp>2023-02-17T09:12:58.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280800</spotPrice>\n            <timestamp>2023-02-17T03:17:12.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280700</spotPrice>\n            <timestamp>2023-02-16T19:48:20.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282300</spotPrice>\n            <timestamp>2023-02-16T13:22:46.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282400</spotPrice>\n            <timestamp>2023-02-16T06:03:48.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282800</spotPrice>\n            <timestamp>2023-02-16T00:56:47.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278600</spotPrice>\n            <timestamp>2023-02-15T19:19:36.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284400</spotPrice>\n            <timestamp>2023-02-15T11:51:07.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284700</spotPrice>\n            <timestamp>2023-02-15T05:42:21.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-02-14T22:21:29.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279300</spotPrice>\n            <timestamp>2023-02-14T14:57:37.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279200</spotPrice>\n            <timestamp>2023-02-14T09:00:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-02-14T03:22:39.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278600</spotPrice>\n            <timestamp>2023-02-13T20:12:22.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278400</spotPrice>\n            <timestamp>2023-02-13T06:21:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278500</spotPrice>\n            <timestamp>2023-02-13T01:11:49.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278600</spotPrice>\n            <timestamp>2023-02-12T19:24:30.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278700</spotPrice>\n            <timestamp>2023-02-12T01:56:48.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278900</spotPrice>\n            <timestamp>2023-02-12T00:15:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278900</spotPrice>\n            <timestamp>2023-02-11T00:14:59.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-02-10T19:14:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279300</spotPrice>\n            <timestamp>2023-02-10T06:32:36.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279500</spotPrice>\n            <timestamp>2023-02-10T00:00:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280500</spotPrice>\n            <timestamp>2023-02-09T17:45:49.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-02-09T11:04:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280000</spotPrice>\n            <timestamp>2023-02-09T03:30:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-02-08T22:28:12.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280200</spotPrice>\n            <timestamp>2023-02-08T16:22:53.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279600</spotPrice>\n            <timestamp>2023-02-08T03:47:32.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279200</spotPrice>\n            <timestamp>2023-02-07T20:37:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-02-07T14:15:31.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278900</spotPrice>\n            <timestamp>2023-02-07T02:21:32.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278600</spotPrice>\n            <timestamp>2023-02-06T19:21:33.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278300</spotPrice>\n            <timestamp>2023-02-06T07:28:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278400</spotPrice>\n            <timestamp>2023-02-06T01:32:12.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278700</spotPrice>\n            <timestamp>2023-02-05T01:33:53.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278800</spotPrice>\n            <timestamp>2023-02-04T18:26:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279000</spotPrice>\n            <timestamp>2023-02-04T12:03:03.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279200</spotPrice>\n            <timestamp>2023-02-04T06:54:02.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279400</spotPrice>\n            <timestamp>2023-02-04T00:59:09.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280400</spotPrice>\n            <timestamp>2023-02-03T18:36:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.281500</spotPrice>\n            <timestamp>2023-02-03T13:50:23.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282500</spotPrice>\n            <timestamp>2023-02-03T07:16:40.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283700</spotPrice>\n            <timestamp>2023-02-03T01:31:22.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284200</spotPrice>\n            <timestamp>2023-02-02T19:53:16.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285100</spotPrice>\n            <timestamp>2023-02-02T14:52:04.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285800</spotPrice>\n            <timestamp>2023-02-02T02:20:20.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287300</spotPrice>\n            <timestamp>2023-02-01T11:35:05.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286700</spotPrice>\n            <timestamp>2023-02-01T04:10:17.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286900</spotPrice>\n            <timestamp>2023-01-31T23:13:17.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286400</spotPrice>\n            <timestamp>2023-01-31T16:37:02.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285500</spotPrice>\n            <timestamp>2023-01-31T11:17:00.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285800</spotPrice>\n            <timestamp>2023-01-31T05:59:37.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287400</spotPrice>\n            <timestamp>2023-01-30T22:33:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.288000</spotPrice>\n            <timestamp>2023-01-30T16:45:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287400</spotPrice>\n            <timestamp>2023-01-30T09:28:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285200</spotPrice>\n            <timestamp>2023-01-30T02:48:19.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282600</spotPrice>\n            <timestamp>2023-01-29T19:22:56.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.281100</spotPrice>\n            <timestamp>2023-01-29T11:48:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.281200</spotPrice>\n            <timestamp>2023-01-29T06:49:08.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.281000</spotPrice>\n            <timestamp>2023-01-29T00:54:07.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280500</spotPrice>\n            <timestamp>2023-01-28T20:11:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-01-28T12:53:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279900</spotPrice>\n            <timestamp>2023-01-28T06:41:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280400</spotPrice>\n            <timestamp>2023-01-28T00:01:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280200</spotPrice>\n            <timestamp>2023-01-27T18:05:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279900</spotPrice>\n            <timestamp>2023-01-27T12:28:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279700</spotPrice>\n            <timestamp>2023-01-27T07:37:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279400</spotPrice>\n            <timestamp>2023-01-27T00:14:44.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279000</spotPrice>\n            <timestamp>2023-01-26T17:14:58.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-01-26T07:21:58.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279200</spotPrice>\n            <timestamp>2023-01-26T02:03:52.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-01-25T19:13:25.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279300</spotPrice>\n            <timestamp>2023-01-25T14:02:40.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279400</spotPrice>\n            <timestamp>2023-01-25T07:23:21.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279500</spotPrice>\n            <timestamp>2023-01-24T19:51:01.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279300</spotPrice>\n            <timestamp>2023-01-24T15:05:18.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279200</spotPrice>\n            <timestamp>2023-01-24T10:26:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279100</spotPrice>\n            <timestamp>2023-01-24T05:46:43.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278800</spotPrice>\n            <timestamp>2023-01-24T00:04:23.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278200</spotPrice>\n            <timestamp>2023-01-23T17:26:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277800</spotPrice>\n            <timestamp>2023-01-23T10:34:24.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277700</spotPrice>\n            <timestamp>2023-01-23T04:16:42.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277600</spotPrice>\n            <timestamp>2023-01-22T22:24:43.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-22T10:06:32.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277200</spotPrice>\n            <timestamp>2023-01-22T03:57:09.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277300</spotPrice>\n            <timestamp>2023-01-21T22:34:34.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-21T17:37:50.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277300</spotPrice>\n            <timestamp>2023-01-21T00:41:08.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277500</spotPrice>\n            <timestamp>2023-01-20T14:27:20.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277300</spotPrice>\n            <timestamp>2023-01-20T09:49:03.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-19T23:20:54.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277600</spotPrice>\n            <timestamp>2023-01-19T17:53:56.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-19T10:23:54.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277500</spotPrice>\n            <timestamp>2023-01-18T22:53:21.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277200</spotPrice>\n            <timestamp>2023-01-18T17:00:26.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277000</spotPrice>\n            <timestamp>2023-01-18T11:22:37.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277100</spotPrice>\n            <timestamp>2023-01-18T06:34:51.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277000</spotPrice>\n            <timestamp>2023-01-17T18:28:49.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276800</spotPrice>\n            <timestamp>2023-01-17T06:30:43.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276700</spotPrice>\n            <timestamp>2023-01-16T20:54:59.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276500</spotPrice>\n            <timestamp>2023-01-16T14:12:23.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276700</spotPrice>\n            <timestamp>2023-01-16T06:56:52.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276800</spotPrice>\n            <timestamp>2023-01-16T02:44:59.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276800</spotPrice>\n            <timestamp>2023-01-15T02:44:49.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276600</spotPrice>\n            <timestamp>2023-01-14T20:38:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276500</spotPrice>\n            <timestamp>2023-01-14T14:23:25.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276600</spotPrice>\n            <timestamp>2023-01-14T07:34:07.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.276900</spotPrice>\n            <timestamp>2023-01-14T00:21:31.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277100</spotPrice>\n            <timestamp>2023-01-13T19:25:11.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-13T13:53:02.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277800</spotPrice>\n            <timestamp>2023-01-13T08:13:34.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278100</spotPrice>\n            <timestamp>2023-01-13T03:16:05.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278400</spotPrice>\n            <timestamp>2023-01-12T17:31:03.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278700</spotPrice>\n            <timestamp>2023-01-12T10:57:56.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278900</spotPrice>\n            <timestamp>2023-01-12T05:53:22.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279400</spotPrice>\n            <timestamp>2023-01-11T23:29:56.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279900</spotPrice>\n            <timestamp>2023-01-11T18:54:37.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280600</spotPrice>\n            <timestamp>2023-01-11T14:12:13.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.282500</spotPrice>\n            <timestamp>2023-01-11T06:40:39.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283300</spotPrice>\n            <timestamp>2023-01-10T23:15:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.283500</spotPrice>\n            <timestamp>2023-01-10T16:41:58.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284500</spotPrice>\n            <timestamp>2023-01-10T11:00:31.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284900</spotPrice>\n            <timestamp>2023-01-10T05:08:29.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.285800</spotPrice>\n            <timestamp>2023-01-09T22:52:29.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.286900</spotPrice>\n            <timestamp>2023-01-09T16:27:42.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287800</spotPrice>\n            <timestamp>2023-01-09T10:26:04.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287900</spotPrice>\n            <timestamp>2023-01-09T03:18:57.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.288000</spotPrice>\n            <timestamp>2023-01-08T22:31:40.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287900</spotPrice>\n            <timestamp>2023-01-08T22:01:25.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287900</spotPrice>\n            <timestamp>2023-01-08T17:52:05.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.288300</spotPrice>\n            <timestamp>2023-01-08T12:54:24.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.288700</spotPrice>\n            <timestamp>2023-01-08T07:58:23.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.289600</spotPrice>\n            <timestamp>2023-01-08T01:20:10.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.289800</spotPrice>\n            <timestamp>2023-01-07T19:47:40.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.290200</spotPrice>\n            <timestamp>2023-01-07T13:53:59.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.289300</spotPrice>\n            <timestamp>2023-01-07T06:51:41.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.287300</spotPrice>\n            <timestamp>2023-01-07T01:54:00.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.284200</spotPrice>\n            <timestamp>2023-01-06T19:20:38.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.280500</spotPrice>\n            <timestamp>2023-01-06T11:57:33.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279400</spotPrice>\n            <timestamp>2023-01-06T06:53:02.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.279000</spotPrice>\n            <timestamp>2023-01-06T00:20:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278500</spotPrice>\n            <timestamp>2023-01-05T19:39:47.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278200</spotPrice>\n            <timestamp>2023-01-05T14:34:22.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278000</spotPrice>\n            <timestamp>2023-01-05T08:36:14.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277600</spotPrice>\n            <timestamp>2023-01-05T01:25:25.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277400</spotPrice>\n            <timestamp>2023-01-04T18:52:27.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277500</spotPrice>\n            <timestamp>2023-01-04T08:04:50.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277600</spotPrice>\n            <timestamp>2023-01-04T03:05:44.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.277900</spotPrice>\n            <timestamp>2023-01-03T21:58:08.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278400</spotPrice>\n            <timestamp>2023-01-03T15:24:37.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n        <item>\n            <instanceType>c6i.4xlarge</instanceType>\n            <productDescription>Linux/UNIX</productDescription>\n            <spotPrice>0.278800</spotPrice>\n            <timestamp>2023-01-03T09:17:42.000Z</timestamp>\n            <availabilityZone>us-east-1c</availabilityZone>\n        </item>\n    </spotPriceHistorySet>\n    <nextToken></nextToken>\n</DescribeSpotPriceHistoryResponse>\n'
[SpotPriceHistory(c6i.4xlarge):0.298100, SpotPriceHistory(c6i.4xlarge):0.297800, SpotPriceHistory(c6i.4xlarge):0.296300, SpotPriceHistory(c6i.4xlarge):0.295800, SpotPriceHistory(c6i.4xlarge):0.295400]
In [139]:
h = history[1]
h.price
Out[139]:
0.2978
In [140]:
for h in history[:30]:
    print(h.timestamp,h.availability_zone,
          h.instance_type,h.price)
2023-03-04T09:06:32.000Z us-east-1c c6i.4xlarge 0.2981
2023-03-04T02:51:27.000Z us-east-1c c6i.4xlarge 0.2978
2023-03-03T19:21:33.000Z us-east-1c c6i.4xlarge 0.2963
2023-03-03T13:05:04.000Z us-east-1c c6i.4xlarge 0.2958
2023-03-03T05:46:45.000Z us-east-1c c6i.4xlarge 0.2954
2023-03-02T16:19:07.000Z us-east-1c c6i.4xlarge 0.2955
2023-03-02T09:47:34.000Z us-east-1c c6i.4xlarge 0.2948
2023-03-02T03:15:07.000Z us-east-1c c6i.4xlarge 0.2953
2023-03-01T19:53:26.000Z us-east-1c c6i.4xlarge 0.2961
2023-03-01T00:56:24.000Z us-east-1c c6i.4xlarge 0.2963
2023-02-28T18:39:14.000Z us-east-1c c6i.4xlarge 0.2974
2023-02-28T12:49:53.000Z us-east-1c c6i.4xlarge 0.2871
2023-02-28T07:28:44.000Z us-east-1c c6i.4xlarge 0.287
2023-02-27T23:55:12.000Z us-east-1c c6i.4xlarge 0.2863
2023-02-27T17:00:29.000Z us-east-1c c6i.4xlarge 0.2862
2023-02-27T10:35:01.000Z us-east-1c c6i.4xlarge 0.2849
2023-02-27T03:52:50.000Z us-east-1c c6i.4xlarge 0.2858
2023-02-26T21:45:31.000Z us-east-1c c6i.4xlarge 0.2864
2023-02-26T17:10:11.000Z us-east-1c c6i.4xlarge 0.2869
2023-02-26T10:28:11.000Z us-east-1c c6i.4xlarge 0.2865
2023-02-26T05:18:01.000Z us-east-1c c6i.4xlarge 0.2868
2023-02-25T22:13:11.000Z us-east-1c c6i.4xlarge 0.2864
2023-02-25T17:20:11.000Z us-east-1c c6i.4xlarge 0.2862
2023-02-25T10:54:55.000Z us-east-1c c6i.4xlarge 0.2866
2023-02-25T04:49:03.000Z us-east-1c c6i.4xlarge 0.2868
2023-02-24T23:27:57.000Z us-east-1c c6i.4xlarge 0.2864
2023-02-24T18:35:02.000Z us-east-1c c6i.4xlarge 0.2863
2023-02-24T07:34:47.000Z us-east-1c c6i.4xlarge 0.2855
2023-02-24T02:12:57.000Z us-east-1c c6i.4xlarge 0.2858
2023-02-23T19:19:13.000Z us-east-1c c6i.4xlarge 0.2856

Praca z danymi w język Python¶

---- Powrót do spisu treści ----

Pliki tekstowe¶

In [141]:
f = open("c:\\temp\\plik.txt", "w",  newline="")  
#r=read, w=write, a=append 
f.write("Hello plik1")
f.write("\r\n")
f.write("Hello plik2")
f.write("\r\n")
f.close()
In [142]:
with open("c:\\temp\\plik2.txt", "w", newline="") as f:
    f.write("Hello plik1")
    f.write("\n") #linux new line
    f.write("Hello plik2")
    f.write("\r\n") #Windows new line
# nie musimy pamietac aby zamknac plik!
In [143]:
with open("c:\\temp\\plik2.txt", "r") as f:
    for linia in f:
        print("Linia:"+linia+"&")
Linia:Hello plik1
&
Linia:Hello plik2
&
In [144]:
with open("c:\\temp\\plik2.txt", "r") as f:
    for linia in f:
        print(linia.rstrip())
Hello plik1
Hello plik2

Pliki CSV¶

In [145]:
import csv
with open("c:\\temp\\plik2.csv","w",newline="") as f:
    w = csv.writer(f, delimiter="\t")
    w.writerow(["kol1","kol2","kol3"])
    w.writerow([1,2,3])
    w.writerow([4,5,6])
In [146]:
import csv
with open("c:\\temp\\hist.csv","w",newline="") as f:
    w = csv.writer(f, delimiter="\t")
    w.writerow(['time','zone','type','price'])
    for h in history:
        w.writerow([ 
               h.timestamp, h.availability_zone,
               h.instance_type,h.price])
In [147]:
import csv
with open('c:\\temp\\hist.csv', "r") as f:
    reader = csv.reader(f, delimiter='\t')
    rowno = 0
    for row in reader:
        print(row)
        rowno += 1
        if rowno >= 5: 
            break
['time', 'zone', 'type', 'price']
['2023-03-04T09:06:32.000Z', 'us-east-1c', 'c6i.4xlarge', '0.2981']
['2023-03-04T02:51:27.000Z', 'us-east-1c', 'c6i.4xlarge', '0.2978']
['2023-03-03T19:21:33.000Z', 'us-east-1c', 'c6i.4xlarge', '0.2963']
['2023-03-03T13:05:04.000Z', 'us-east-1c', 'c6i.4xlarge', '0.2958']
In [148]:
import datetime
txt = '2022-09-30T12:18:49.000Z'
dat = datetime.datetime.strptime(txt, '%Y-%m-%dT%H:%M:%S.%fZ')
dat
Out[148]:
datetime.datetime(2022, 9, 30, 12, 18, 49)
In [149]:
import csv
import datetime
prices = []
times = []
with open('c:\\temp\\hist.csv', "r") as f:
    reader = csv.reader(f, delimiter='\t')
    no = 0
    for row in reader:
        no = no+1
        if no > 1:
            prices.append(float(row[3]))
            times.append(
                datetime.datetime.strptime(
                    row[0],
                    '%Y-%m-%dT%H:%M:%S.%fZ'))
In [150]:
import matplotlib.pyplot as plt

plt.plot(times,prices)
plt.xticks(rotation = 90)
plt.show()
In [152]:
plt.step(times[:10],prices[:10])
plt.xticks(rotation = 90)
plt.show()

Pliki JSON¶

In [69]:
import json
import ssl
import urllib.request as ul

#ctx = ssl.create_default_context()
#ctx.check_hostname = False
#ctx.verify_mode = ssl.CERT_NONE
# , context=ctx

url = 'https://szufel.pl/pliki/plik.txt'
response = ul.urlopen(url)
json_data = response.read().decode("utf-8")
print(json_data)
{
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 25,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    }
  ],
  "children": [],
  "spouse": null
}


In [70]:
slownik = json.loads(json_data)
print(slownik)
slownik["phoneNumbers"][0]
{'firstName': 'John', 'lastName': 'Smith', 'isAlive': True, 'age': 25, 'address': {'streetAddress': '21 2nd Street', 'city': 'New York', 'state': 'NY', 'postalCode': '10021-3100'}, 'phoneNumbers': [{'type': 'home', 'number': '212 555-1234'}, {'type': 'office', 'number': '646 555-4567'}], 'children': [], 'spouse': None}
Out[70]:
{'type': 'home', 'number': '212 555-1234'}
In [71]:
json.dumps(slownik)
Out[71]:
'{"firstName": "John", "lastName": "Smith", "isAlive": true, "age": 25, "address": {"streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100"}, "phoneNumbers": [{"type": "home", "number": "212 555-1234"}, {"type": "office", "number": "646 555-4567"}], "children": [], "spouse": null}'
In [72]:
slownik = { str((x,x)):x*x for x in range(6) }
print(slownik)
print(json.dumps(slownik))
{'(0, 0)': 0, '(1, 1)': 1, '(2, 2)': 4, '(3, 3)': 9, '(4, 4)': 16, '(5, 5)': 25}
{"(0, 0)": 0, "(1, 1)": 1, "(2, 2)": 4, "(3, 3)": 9, "(4, 4)": 16, "(5, 5)": 25}

Pliki Excel¶

In [80]:
from openpyxl import Workbook

wb = Workbook() #tworzy pusty skoroszyt

ws = wb.active  # wybiera arkusz w skoroszycie 

# <codecell>
import datetime

for row in range(1,11):
    ws['A'+str(row)] = row*row
    ws['B'+str(row)] = "test taki i owaki"
    ws['C'+str(row)] = datetime.datetime.now()

wb.save("c:\\temp\\ADBD\\mojarkusz.xlsx")
In [81]:
import openpyxl

wb = openpyxl.load_workbook('c:\\temp\\ADBD\\mojarkusz.xlsx')
sheet_names = wb.sheetnames

(wb["Sheet"].max_row, wb["Sheet"].max_column)
Out[81]:
(10, 3)
In [75]:
#  program w Pythonie ktory wyswietli 
# na konsoli zawartosc wszystkich arkuszy w skoroszycie

for sheet_name in sheet_names:
    print(sheet_name)
    print("--------------------")
    sheet = wb[sheet_name]
    for row in range(1,sheet.max_row+1):
        row_data_str = ""
        for col in range(1,sheet.max_column+1):
            row_data_str +="\t"+str(sheet.cell(row=row, column=col).value)
        print(sheet.title,":",row_data_str)
Sheet
--------------------
Sheet : 	1	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	4	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	9	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	16	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	25	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	36	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	49	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	64	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	81	test taki i owaki	2023-03-04 14:29:11.442000
Sheet : 	100	test taki i owaki	2023-03-04 14:29:11.443000

Baza danych Oracle¶

Sposób instalacji sterowników

  • conda install cx_Oracle
  • ze strony https://www.oracle.com/database/technologies/instant-client/downloads.html pobrac klienta "Basic Light"
  • rozzipowac do Anaconda do katalogu gdzie znajduje sie plik python.exe (z reguły c:\ProgramData\Anaconda3)
In [76]:
import cx_Oracle
cx_Oracle.clientversion()
Out[76]:
(21, 6, 0, 0, 0)
In [77]:
import cx_Oracle
try:
    con = cx_Oracle.connect('admin/ora12345@database-1.chncte7hbg1u.us-east-1.rds.amazonaws.com:1521/ORCL')
    #haslo: ora12345 user: admin
    print(con.version)
    cur = con.cursor()
except Exception as err:
    print(err)
ORA-12154: TNS:could not resolve the connect identifier specified
In [78]:
try:
    cur.execute('create table tabela1 (kolumna1 varchar2(50), kolumna2  varchar2(50))')
except Exception as err:
    print(err)
name 'cur' is not defined
In [82]:
try:
    a="value a"
    b="value b"
    cur.execute('insert into tabela1 (kolumna1, kolumna2) values (:1, :2)', (a,b) )
except Exception as err:
    print(err)
name 'cur' is not defined
In [84]:
try:
    con.commit()
except Exception as err:
    print(err)
name 'con' is not defined
In [ ]:
try:
    cur.execute('select * from tabela1 order by kolumna1')
    for result in cur:
        print(result)
    con.close()
except Exception as err:
    print(err)
In [ ]:
 

Ramki danych i wymiana danych z Gnu R¶

Instalacja pakietu do współpracy z R

conda install feather-format -c conda-forge --yes

albo

pip install --user feather-format

Przykładowe polecenia w R

library(feather)
write_feather(iris, "C:/temp/iris.dat")
iris_copy <- read_feather("C:/temp/iris.dat")
In [86]:
import pandas as pd
import urllib.request as ul 
response = ul.urlopen('https://szufel.pl/pliki/iris_data.csv')
df = pd.read_csv(response)
response.close()
df
Out[86]:
sepal_length sepal_width petal_length petal_width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
... ... ... ... ... ...
145 6.7 3.0 5.2 2.3 Iris-virginica
146 6.3 2.5 5.0 1.9 Iris-virginica
147 6.5 3.0 5.2 2.0 Iris-virginica
148 6.2 3.4 5.4 2.3 Iris-virginica
149 5.9 3.0 5.1 1.8 Iris-virginica

150 rows × 5 columns

In [87]:
df.describe()
Out[87]:
sepal_length sepal_width petal_length petal_width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667 1.198667
std 0.828066 0.433594 1.764420 0.763161
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
In [88]:
df['sepal_length'].head()
Out[88]:
0    5.1
1    4.9
2    4.7
3    4.6
4    5.0
Name: sepal_length, dtype: float64
In [89]:
df.loc[0:5,['sepal_length','sepal_width']]
Out[89]:
sepal_length sepal_width
0 5.1 3.5
1 4.9 3.0
2 4.7 3.2
3 4.6 3.1
4 5.0 3.6
5 5.4 3.9
In [90]:
df['class'].value_counts()
Out[90]:
Iris-setosa        50
Iris-versicolor    50
Iris-virginica     50
Name: class, dtype: int64
In [91]:
print(df.dtypes)
sepal_length    float64
sepal_width     float64
petal_length    float64
petal_width     float64
class            object
dtype: object
In [92]:
df[0:3]
Out[92]:
sepal_length sepal_width petal_length petal_width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
In [93]:
df.loc[0:3, "sepal_length"]
Out[93]:
0    5.1
1    4.9
2    4.7
3    4.6
Name: sepal_length, dtype: float64
In [94]:
import feather
feather.write_dataframe(df, "C:/temp/iris.dat")
iris = feather.read_dataframe("C:/temp/iris.dat")
In [95]:
iris[0:3]
Out[95]:
sepal_length sepal_width petal_length petal_width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
In [96]:
#Tworzenie ramki danych
import numpy as np
data = np.array([np.arange(10)+1]*2+\
    [20-np.arange(10)]).T
data
Out[96]:
array([[ 1,  1, 20],
       [ 2,  2, 19],
       [ 3,  3, 18],
       [ 4,  4, 17],
       [ 5,  5, 16],
       [ 6,  6, 15],
       [ 7,  7, 14],
       [ 8,  8, 13],
       [ 9,  9, 12],
       [10, 10, 11]])
In [97]:
df = pd.DataFrame(data, columns=['A','B','C'])
df
Out[97]:
A B C
0 1 1 20
1 2 2 19
2 3 3 18
3 4 4 17
4 5 5 16
5 6 6 15
6 7 7 14
7 8 8 13
8 9 9 12
9 10 10 11
In [98]:
type(df["A"].values)
Out[98]:
numpy.ndarray

Praca z biblioteką numpy¶

NumPy jest podstawowym narzędziem wykorzystywanym przy analityce danych w języku Python

---- Powrót do spisu treści ----

In [99]:
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])

print (a+10)
[11 12 13]
In [100]:
print (a+b)
[5 7 9]
In [101]:
# ale
print (list(a)+list(b))
[1, 2, 3, 4, 5, 6]
In [102]:
np.zeros((5,3), dtype="float64")
Out[102]:
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
In [103]:
a = np.zeros((5,3),dtype="int64")+11
x=  777777777777
a[1,1] = x
a
Out[103]:
array([[          11,           11,           11],
       [          11, 777777777777,           11],
       [          11,           11,           11],
       [          11,           11,           11],
       [          11,           11,           11]], dtype=int64)
In [104]:
try:
    a[1,1] = "a33"
except Exception as err:
    print(err)
invalid literal for int() with base 10: 'a33'
In [105]:
np.array([["a","b","c"],["a","b","gg"]])
Out[105]:
array([['a', 'b', 'c'],
       ['a', 'b', 'gg']], dtype='<U2')
In [106]:
import numpy as np
np.array([1,2,3])*5
Out[106]:
array([ 5, 10, 15])
In [107]:
np.arange(1,13).reshape(4,3)
Out[107]:
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
In [108]:
# array range - np.arange
a= np.arange(1,13)
b=a.reshape(3,4)
print(b)
print(a)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
[ 1  2  3  4  5  6  7  8  9 10 11 12]
In [109]:
a1 = np.arange(15).reshape(3,5)
a1.size # int32
Out[109]:
15
In [110]:
import numpy as np

vector = np.arange(15)  
# to samo mozna osiagnac piszac np.array(range(15))

a1 = np.reshape(vector,(3,5))

a2 = np.array( [[1,2,3],[4,5,6]]  )

print ("Liczba wymarow macierzy a1", a1.ndim)
print ("Wymiary ", a1.shape)
print ("Typ danych w a1", a1.dtype.name)
print ("Rozmiar elementu w bajtach", a1.itemsize)
print ("Liczba elementow", a1.size)
Liczba wymarow macierzy a1 2
Wymiary  (3, 5)
Typ danych w a1 int32
Rozmiar elementu w bajtach 4
Liczba elementow 15
In [111]:
np.ones((5,4), dtype="int32")*8
Out[111]:
array([[8, 8, 8, 8],
       [8, 8, 8, 8],
       [8, 8, 8, 8],
       [8, 8, 8, 8],
       [8, 8, 8, 8]])
In [112]:
threes = np.ones((3,4),dtype="int64")*3
fours = np.ones((3,4),dtype="int64")*4

print (threes/fours)
[[0.75 0.75 0.75 0.75]
 [0.75 0.75 0.75 0.75]
 [0.75 0.75 0.75 0.75]]
In [113]:
np.random.random((5,5))
Out[113]:
array([[0.2795944 , 0.66812903, 0.57725472, 0.97665875, 0.87853936],
       [0.597553  , 0.44595545, 0.47741187, 0.14707112, 0.54047457],
       [0.00682839, 0.21811428, 0.24953156, 0.34108201, 0.61783695],
       [0.61283581, 0.81237396, 0.4030786 , 0.64693415, 0.62367199],
       [0.46141529, 0.95647858, 0.08963675, 0.56094187, 0.91187648]])
In [114]:
import timeit
timeit.timeit(\
   "import numpy as np;a = \
    np.random.random((1000,10000));\
    print(np.sum(a))",number=10)
5000605.508587979
5000318.446091568
4999984.137793315
5000146.199927739
4999384.595014728
4999441.829169626
4999787.507852074
4998191.0381878475
4999391.992922504
4998974.079745868
Out[114]:
0.7832420999999954
In [115]:
import random
[random.random() for i in range(4)]
Out[115]:
[0.5628432106747671,
 0.9212976484779752,
 0.8483479094602133,
 0.34369259603688995]
In [116]:
timeit.timeit(\
   "import random as rd;a = \
    [ rd.random() for i in range(10000000) ];\
    print(sum(a))",number=10)
5000394.338965941
4999712.992239783
5000938.514543977
5001199.882933689
4999125.526811077
5000235.734249592
5001098.671619059
5000611.883885406
5000784.552335006
4999489.494691724
Out[116]:
15.957268800000008
In [ ]:
 
In [117]:
b = np.arange(12).reshape(3,4)
print ("b=\n",b)
b=
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
In [118]:
print ("b column sum=\n",b.sum(axis=0))
b column sum=
 [12 15 18 21]
In [119]:
print ("b row =\n",b.min(axis=1))

print ("b cumulative row sum=\n",b.cumsum(axis=1))
b row =
 [0 4 8]
b cumulative row sum=
 [[ 0  1  3  6]
 [ 4  9 15 22]
 [ 8 17 27 38]]
In [120]:
import numpy as np
x = np.array([1,2,3,4,5])
y = np.array(range(6,11))
x, y
Out[120]:
(array([1, 2, 3, 4, 5]), array([ 6,  7,  8,  9, 10]))
In [121]:
Zv = np.vstack((x,y))
Zh = np.hstack((x,y))
print(Zv)
print(Zh)
[[ 1  2  3  4  5]
 [ 6  7  8  9 10]]
[ 1  2  3  4  5  6  7  8  9 10]
In [122]:
x1 = np.array([[1,2],[3,4]])
y1 = np.array([[5,6],[7,8]])
Zv1 = np.vstack((x1,y1))
Zh1 = np.hstack((x1,y1))
print(Zv1)
print(Zh1)
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
[[1 2 5 6]
 [3 4 7 8]]

Scraping danych z internetu¶

Scraping danych ze stron może być wykonywany w jednym z dwu podejść

  • headless (bez interefejsu użytkownika) - scrapy
  • robotycznym (robotyzacja przeglądarki np. Mozilla Firefox) - selenium

---- Powrót do spisu treści ----

Praca z pakietem scrapy¶

Aby uruchomic kolejna komorke nalezy doinstalowac scrapy

conda install -c conda-forge scrapy --yes

albo

pip install --user scrapy
In [123]:
class Zwierze:    # klasa nadrzedna
    nogi = 0   #pole 
    ogon = False
    def daj_glos(self):   #metoda
        print("Glos")
    def glos_2x(self):
        self.daj_glos()
        self.daj_glos()
    
In [124]:
class Pies(Zwierze):  # klasa podrzedna (dziedziczy z klasy nadrzecznej)
    pole = 4
    def __init__(self):   # konstruktor
        self.nogi = 4
        self.ogon = True
    def daj_glos(self):
        print("Hau")
In [125]:
pies = Pies()
print(pies.nogi)
pies.glos_2x()
4
Hau
Hau
In [175]:
import scrapy
import scrapy.http
class GitHubItem(scrapy.Item):
    name = scrapy.Field()
    stars = scrapy.Field()
    
class GitHubSpider(scrapy.Spider):
    name = "githubspider"
    allowed_domains = ["github.com"]
    start_urls = ["https://github.com/python"]
    def parse(self, response):
        print ("Site visited:"+response.url)
        s = scrapy.Selector(text=response.body)
        for dblock in s.xpath("//a[contains(@itemprop, 'codeRepository')]"):
            newurls = dblock.xpath(".//@href")
            if len(newurls) > 0:
                newurl = newurls[0].extract().strip()
                yield scrapy.http.Request("https://github.com"+newurl,self.parsepage)
    def parsepage(self, response):
        print ("Site visited:"+response.url)
        s = scrapy.Selector(text=response.body)
        item = GitHubItem()
        xpathname=s.xpath("//strong[@itemprop='name']/a/text()")
        xpathstars = s.xpath("//span[contains(@class, 'js-social-count')]/text()")
        if len(xpathname) > 0 and len(xpathstars) > 0:
            item["name"] = xpathname[0].extract()
            item["stars"] = xpathstars[0].extract().strip()
            yield item        
In [176]:
# kod do uruchomienia powyzszego kodu

from scrapy.crawler import CrawlerProcess
import sys

#Obejscie dla sytuacjiz ze kazde uruchomienie wymaga restartu
# kernela notebooka albo przebudowanie kodu
# https://stackoverflow.com/questions/41495052/scrapy-reactor-not-restartable
if "twisted.internet.reactor" in sys.modules:
    del sys.modules["twisted.internet.reactor"]

process = CrawlerProcess({
    'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})
spider = GitHubSpider
process.crawl(spider)
process.start()
2023-03-04 15:11:52 [scrapy.utils.log] INFO: Scrapy 2.6.1 started (bot: scrapybot)
2023-03-04 15:11:52 [scrapy.utils.log] INFO: Versions: lxml 4.8.0.0, libxml2 2.9.12, cssselect 1.1.0, parsel 1.6.0, w3lib 1.21.0, Twisted 22.2.0, Python 3.9.12 (main, Apr  4 2022, 05:22:27) [MSC v.1916 64 bit (AMD64)], pyOpenSSL 21.0.0 (OpenSSL 1.1.1n  15 Mar 2022), cryptography 3.4.8, Platform Windows-10-10.0.22621-SP0
2023-03-04 15:11:52 [scrapy.crawler] INFO: Overridden settings:
{'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'}
2023-03-04 15:11:52 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor
2023-03-04 15:11:52 [scrapy.extensions.telnet] INFO: Telnet Password: 49757aa07dd62ff9
2023-03-04 15:11:52 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
 'scrapy.extensions.telnet.TelnetConsole',
 'scrapy.extensions.logstats.LogStats']
2023-03-04 15:11:52 [scrapy.middleware] INFO: Enabled downloader middlewares:
['scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',
 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',
 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',
 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',
 'scrapy.downloadermiddlewares.retry.RetryMiddleware',
 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',
 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',
 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',
 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',
 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',
 'scrapy.downloadermiddlewares.stats.DownloaderStats']
2023-03-04 15:11:52 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']
2023-03-04 15:11:52 [scrapy.middleware] INFO: Enabled item pipelines:
[]
2023-03-04 15:11:52 [scrapy.core.engine] INFO: Spider opened
2023-03-04 15:11:52 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2023-03-04 15:11:52 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6024
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python> (referer: None)
Site visited:https://github.com/python
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/peps> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/peps>
{'name': 'peps', 'stars': '3.6k'}
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/cpython> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/python-docs-pl> (referer: https://github.com/python)
Site visited:https://github.com/python/peps
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/python-docs-pt-br> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/typeshed> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/python-docs-ja> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/python-docs-zh-tw> (referer: https://github.com/python)
2023-03-04 15:11:53 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/cpython>
{'name': 'cpython', 'stars': '51k'}
2023-03-04 15:11:53 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/python-docs-pl>
{'name': 'python-docs-pl', 'stars': '30'}
2023-03-04 15:11:53 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/python-docs-pt-br>
{'name': 'python-docs-pt-br', 'stars': '96'}
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/typeshed>
{'name': 'typeshed', 'stars': '3.4k'}
2023-03-04 15:11:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/devguide> (referer: https://github.com/python)
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/python-docs-ja>
{'name': 'python-docs-ja', 'stars': '56'}
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/python-docs-zh-tw>
{'name': 'python-docs-zh-tw', 'stars': '125'}
Site visited:https://github.com/python/cpython
Site visited:https://github.com/python/python-docs-pl
Site visited:https://github.com/python/python-docs-pt-br
Site visited:https://github.com/python/typeshed
Site visited:https://github.com/python/python-docs-ja
Site visited:https://github.com/python/python-docs-zh-tw
2023-03-04 15:11:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/mypy> (referer: https://github.com/python)
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/devguide>
{'name': 'devguide', 'stars': '1.5k'}
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/mypy>
{'name': 'mypy', 'stars': '14.9k'}
2023-03-04 15:11:54 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://github.com/python/python-docs-es> (referer: https://github.com/python)
Site visited:https://github.com/python/devguide
Site visited:https://github.com/python/mypy
2023-03-04 15:11:54 [scrapy.core.scraper] DEBUG: Scraped from <200 https://github.com/python/python-docs-es>
{'name': 'python-docs-es', 'stars': '218'}
2023-03-04 15:11:54 [scrapy.core.engine] INFO: Closing spider (finished)
2023-03-04 15:11:54 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 7343,
 'downloader/request_count': 11,
 'downloader/request_method_count/GET': 11,
 'downloader/response_bytes': 487698,
 'downloader/response_count': 11,
 'downloader/response_status_count/200': 11,
 'elapsed_time_seconds': 1.828624,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2023, 3, 4, 14, 11, 54, 370537),
 'httpcompression/response_bytes': 3677999,
 'httpcompression/response_count': 11,
 'item_scraped_count': 10,
 'log_count/DEBUG': 22,
 'log_count/INFO': 10,
 'request_depth_max': 1,
 'response_received_count': 11,
 'scheduler/dequeued': 11,
 'scheduler/dequeued/memory': 11,
 'scheduler/enqueued': 11,
 'scheduler/enqueued/memory': 11,
 'start_time': datetime.datetime(2023, 3, 4, 14, 11, 52, 541913)}
2023-03-04 15:11:54 [scrapy.core.engine] INFO: Spider closed (finished)
Site visited:https://github.com/python/python-docs-es
[(#selenium)

Praca z selenium - scraping robotyczny¶

Aby uruchomic kolejna komorke nalezy doinstalowac selenium

conda install -c conda-forge selenium --yes

albo

pip install --user selenium

Dodatkowo nalezy pobrac plik geckodriver.exe ze strony https://github.com/mozilla/geckodriver/releases i umiescic go w tym samym katalogu, w ktorym znajduje sie python.exe

In [177]:
#automatyzacja selenium


from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
2023-03-04 15:12:05 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session {"capabilities": {"firstMatch": [{}], "alwaysMatch": {"browserName": "firefox", "acceptInsecureCerts": true, "moz:debuggerAddress": true, "pageLoadStrategy": "normal"}}}
2023-03-04 15:12:05 [urllib3.connectionpool] DEBUG: Starting new HTTP connection (1): localhost:61524
2023-03-04 15:12:09 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session HTTP/1.1" 200 791
2023-03-04 15:12:09 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":{"sessionId":"05b56449-533f-4e95-afb4-2237abec81fc","capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"110.0.1","moz:accessibilityChecks":false,"moz:buildID":"20230227191043","moz:debuggerAddress":"127.0.0.1:61525","moz:geckodriverVersion":"0.31.0","moz:headless":false,"moz:platformVersion":"10.0","moz:processID":40096,"moz:profile":"C:\\Users\\pszuf\\AppData\\Local\\Temp\\rust_mozprofileT8whgA","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"moz:windowless":false,"pageLoadStrategy":"normal","platformName":"windows","proxy":{},"setWindowRect":true,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify"}}} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '791', 'date': 'Sat, 04 Mar 2023 14:12:07 GMT'})
2023-03-04 15:12:09 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
In [178]:
driver.get("http://www.python.org")
print(driver.title)
2023-03-04 15:12:14 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/url {"url": "http://www.python.org"}
2023-03-04 15:12:16 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/url HTTP/1.1" 200 14
2023-03-04 15:12:16 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:12:14 GMT'})
2023-03-04 15:12:16 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:12:16 [selenium.webdriver.remote.remote_connection] DEBUG: GET http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/title {}
2023-03-04 15:12:16 [urllib3.connectionpool] DEBUG: http://localhost:61524 "GET /session/05b56449-533f-4e95-afb4-2237abec81fc/title HTTP/1.1" 200 33
2023-03-04 15:12:16 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":"Welcome to Python.org"} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '33', 'date': 'Sat, 04 Mar 2023 14:12:16 GMT'})
2023-03-04 15:12:16 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
Welcome to Python.org
In [180]:
elem = driver.find_element("name", "q")
elem.clear()
elem.click()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element {"using": "css selector", "value": "[name=\"q\"]"}
2023-03-04 15:12:22 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element HTTP/1.1" 200 88
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":{"element-6066-11e4-a52e-4f735466cecf":"455ccb0f-4cdf-421b-a6e8-af849cea6df6"}} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '88', 'date': 'Sat, 04 Mar 2023 14:12:22 GMT'})
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/clear {"id": "455ccb0f-4cdf-421b-a6e8-af849cea6df6"}
2023-03-04 15:12:22 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/clear HTTP/1.1" 200 14
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:12:22 GMT'})
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/click {"id": "455ccb0f-4cdf-421b-a6e8-af849cea6df6"}
2023-03-04 15:12:22 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/click HTTP/1.1" 200 14
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:12:22 GMT'})
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/value {"text": "pycon", "value": ["p", "y", "c", "o", "n"], "id": "455ccb0f-4cdf-421b-a6e8-af849cea6df6"}
2023-03-04 15:12:22 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/value HTTP/1.1" 200 14
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:12:22 GMT'})
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/value {"text": "\ue006", "value": ["\ue006"], "id": "455ccb0f-4cdf-421b-a6e8-af849cea6df6"}
2023-03-04 15:12:22 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/455ccb0f-4cdf-421b-a6e8-af849cea6df6/value HTTP/1.1" 200 14
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:12:22 GMT'})
2023-03-04 15:12:22 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
In [182]:
elem = driver.find_element("name", "q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element {"using": "css selector", "value": "[name=\"q\"]"}
2023-03-04 15:13:04 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element HTTP/1.1" 200 88
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":{"element-6066-11e4-a52e-4f735466cecf":"0933f76e-d7c4-47fd-a4c5-ada727705c7a"}} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '88', 'date': 'Sat, 04 Mar 2023 14:13:04 GMT'})
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/clear {"id": "0933f76e-d7c4-47fd-a4c5-ada727705c7a"}
2023-03-04 15:13:04 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/clear HTTP/1.1" 200 14
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:13:04 GMT'})
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/value {"text": "pycon", "value": ["p", "y", "c", "o", "n"], "id": "0933f76e-d7c4-47fd-a4c5-ada727705c7a"}
2023-03-04 15:13:04 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/value HTTP/1.1" 200 14
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:13:04 GMT'})
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/value {"text": "\ue006", "value": ["\ue006"], "id": "0933f76e-d7c4-47fd-a4c5-ada727705c7a"}
2023-03-04 15:13:04 [urllib3.connectionpool] DEBUG: http://localhost:61524 "POST /session/05b56449-533f-4e95-afb4-2237abec81fc/element/0933f76e-d7c4-47fd-a4c5-ada727705c7a/value HTTP/1.1" 200 14
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":null} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '14', 'date': 'Sat, 04 Mar 2023 14:13:04 GMT'})
2023-03-04 15:13:04 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
In [183]:
print(driver.page_source[0:3000])
2023-03-04 15:13:10 [selenium.webdriver.remote.remote_connection] DEBUG: GET http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/source {}
2023-03-04 15:13:10 [urllib3.connectionpool] DEBUG: http://localhost:61524 "GET /session/05b56449-533f-4e95-afb4-2237abec81fc/source HTTP/1.1" 200 66676
2023-03-04 15:13:10 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":"<html class=\"js no-touch geolocation fontface generatedcontent svg formvalidation placeholder boxsizing retina\" dir=\"ltr\" style=\"\" lang=\"en\"><!--<![endif]--><head>\n    <!-- Google tag (gtag.js) -->\n    <script type=\"text/javascript\" async=\"\" src=\"https://ssl.google-analytics.com/ga.js\"></script><script async=\"\" src=\"https://www.googletagmanager.com/gtag/js?id=G-TF35YF9CVH\"></script>\n    <script>\n      window.dataLayer = window.dataLayer || [];\n      function gtag(){dataLayer.push(arguments);}\n      gtag('js', new Date());\n      gtag('config', 'G-TF35YF9CVH');\n    </script>\n\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\n    <link rel=\"prefetch\" href=\"//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\">\n    <link rel=\"prefetch\" href=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js\">\n\n    <meta name=\"application-name\" content=\"Python.org\">\n    <meta name=\"msapplication-tooltip\" content=\"The official home of the Python Programming Language\">\n    <meta name=\"apple-mobile-web-app-title\" content=\"Python.org\">\n    <meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n    <meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\">\n\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta name=\"HandheldFriendly\" content=\"True\">\n    <meta name=\"format-detection\" content=\"telephone=no\">\n    <meta http-equiv=\"cleartype\" content=\"on\">\n    <meta http-equiv=\"imagetoolbar\" content=\"false\">\n\n    <script async=\"\" src=\"https://media.ethicalads.io/media/client/v1.4.0/ethicalads.min.js\" integrity=\"sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0= sha384-UcmsCqcNRSLW/dV3Lo1oCi2/VaurXbib6p4HyUEOeIa/4OpsrnucrugAefzVZJfI sha512-q4t1L4xEjGV2R4hzqCa41P8jrgFUS8xTb8rdNv4FGvw7FpydVj/kkxBJHOiaoxHa8olCcx1Slk9K+3sNbsM4ug==\" crossorigin=\"anonymous\"></script>\n    <script src=\"/static/js/libs/modernizr.js\"></script>\n\n    <link href=\"/static/stylesheets/style.2135bffe4dde.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\" title=\"default\">\n    <link href=\"/static/stylesheets/mq.f9187444a4a1.css\" rel=\"stylesheet\" type=\"text/css\" media=\"not print, braille, embossed, speech, tty\">\n    \n\n    <!--[if (lte IE 8)&(!IEMobile)]>\n    <link href=\"/static/stylesheets/no-mq.bf0c425cdb73.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\n    \n    \n    <![endif]-->\n    <link rel=\"stylesheet\" href=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css\">\n\n    \n    <link rel=\"icon\" type=\"image/x-icon\" href=\"/static/favicon.ico\">\n    <link rel=\"apple-touch-icon-precomposed\" sizes=\"144x144\" href=\"/static/apple-touch-icon-144x144-precomposed.png\">\n    <link rel=\"apple-touch-icon-precomposed\" sizes=\"114x114\" href=\"/static/apple-touch-icon-114x114-precomposed.png\">\n    <link rel=\"apple-touch-icon-precomposed\" sizes=\"72x72\" href=\"/static/apple-touch-icon-72x72-precomposed.png\">\n    <link rel=\"apple-touch-icon-precomposed\" href=\"/static/apple-touch-icon-precomposed.png\">\n    <link rel=\"apple-touch-icon\" href=\"/static/apple-touch-icon-precomposed.png\">\n\n    \n    <meta name=\"msapplication-TileImage\" content=\"/static/metro-icon-144x144-precomposed.png\"><!-- white shape -->\n    <meta name=\"msapplication-TileColor\" content=\"#3673a5\"><!-- python blue -->\n    <meta name=\"msapplication-navbutton-color\" content=\"#3673a5\">\n\n    <title>Welcome to Python.org</title>\n\n    <meta name=\"description\" content=\"The official home of the Python Programming Language\">\n    <meta name=\"keywords\" content=\"Python programming language object oriented web free open source software license documentation download community\">\n\n    \n    <meta property=\"og:type\" content=\"website\">\n    <meta property=\"og:site_name\" content=\"Python.org\">\n    <meta property=\"og:title\" content=\"Welcome to Python.org\">\n    <meta property=\"og:description\" content=\"The official home of the Python Programming Language\">\n    \n    <meta property=\"og:image\" content=\"https://www.python.org/static/opengraph-icon-200x200.png\">\n    <meta property=\"og:image:secure_url\" content=\"https://www.python.org/static/opengraph-icon-200x200.png\">\n    \n    <meta property=\"og:url\" content=\"https://www.python.org/search/?q=pycon&amp;submit=\">\n\n    <link rel=\"author\" href=\"/humans.txt\">\n\n    <link rel=\"alternate\" type=\"application/rss+xml\" title=\"Python Enhancement Proposals\" href=\"https://www.python.org/dev/peps/peps.rss/\">\n    <link rel=\"alternate\" type=\"application/rss+xml\" title=\"Python Job Opportunities\" href=\"https://www.python.org/jobs/feed/rss/\">\n    <link rel=\"alternate\" type=\"application/rss+xml\" title=\"Python Software Foundation News\" href=\"https://feeds.feedburner.com/PythonSoftwareFoundationNews\">\n    <link rel=\"alternate\" type=\"application/rss+xml\" title=\"Python Insider\" href=\"https://feeds.feedburner.com/PythonInsider\">\n\n    \n\n    \n    <script type=\"application/ld+json\">\n     {\n       \"@context\": \"https://schema.org\",\n       \"@type\": \"WebSite\",\n       \"url\": \"https://www.python.org/\",\n       \"potentialAction\": {\n         \"@type\": \"SearchAction\",\n         \"target\": \"https://www.python.org/search/?q={search_term_string}\",\n         \"query-input\": \"required name=search_term_string\"\n       }\n     }\n    </script>\n\n    \n    <script type=\"text/javascript\">\n    var _gaq = _gaq || [];\n    _gaq.push(['_setAccount', 'UA-39055973-1']);\n    _gaq.push(['_trackPageview']);\n\n    (function() {\n        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n    })();\n    </script>\n    \n<style>[data-ea-publisher].loaded,[data-ea-type].loaded{font-size:14px;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;font-weight:normal;font-style:normal;leter-spacing:0px;vertical-align:baseline;line-height:1.3em}[data-ea-publisher].loaded a,[data-ea-type].loaded a{text-decoration:none}[data-ea-publisher].loaded .ea-pixel,[data-ea-type].loaded .ea-pixel{display:none}[data-ea-publisher].loaded .ea-content,[data-ea-type].loaded .ea-content{margin:1em 1em 0.5em 1em;padding:1em;background:rgba(0,0,0,0.03);color:#505050}[data-ea-publisher].loaded .ea-content a:link,[data-ea-type].loaded .ea-content a:link{color:#505050}[data-ea-publisher].loaded .ea-content a:visited,[data-ea-type].loaded .ea-content a:visited{color:#505050}[data-ea-publisher].loaded .ea-content a:hover,[data-ea-type].loaded .ea-content a:hover{color:#373737}[data-ea-publisher].loaded .ea-content a:active,[data-ea-type].loaded .ea-content a:active{color:#373737}[data-ea-publisher].loaded .ea-content a strong,[data-ea-publisher].loaded .ea-content a b,[data-ea-type].loaded .ea-content a strong,[data-ea-type].loaded .ea-content a b{color:#088cdb}[data-ea-publisher].loaded .ea-callout a:link,[data-ea-type].loaded .ea-callout a:link{color:#6a6a6a}[data-ea-publisher].loaded .ea-callout a:visited,[data-ea-type].loaded .ea-callout a:visited{color:#6a6a6a}[data-ea-publisher].loaded .ea-callout a:hover,[data-ea-type].loaded .ea-callout a:hover{color:#505050}[data-ea-publisher].loaded .ea-callout a:active,[data-ea-type].loaded .ea-callout a:active{color:#505050}[data-ea-publisher].loaded .ea-callout a strong,[data-ea-publisher].loaded .ea-callout a b,[data-ea-type].loaded .ea-callout a strong,[data-ea-type].loaded .ea-callout a b{color:#088cdb}[data-ea-publisher].loaded .ea-callout a,[data-ea-type].loaded .ea-callout a{font-size:0.8em}[data-ea-publisher].loaded.dark .ea-content,[data-ea-type].loaded.dark .ea-content{background:rgba(255,255,255,0.05);color:#dcdcdc}[data-ea-publisher].loaded.dark .ea-content a:link,[data-ea-type].loaded.dark .ea-content a:link{color:#dcdcdc}[data-ea-publisher].loaded.dark .ea-content a:visited,[data-ea-type].loaded.dark .ea-content a:visited{color:#dcdcdc}[data-ea-publisher].loaded.dark .ea-content a:hover,[data-ea-type].loaded.dark .ea-content a:hover{color:#f6f6f6}[data-ea-publisher].loaded.dark .ea-content a:active,[data-ea-type].loaded.dark .ea-content a:active{color:#f6f6f6}[data-ea-publisher].loaded.dark .ea-content a strong,[data-ea-publisher].loaded.dark .ea-content a b,[data-ea-type].loaded.dark .ea-content a strong,[data-ea-type].loaded.dark .ea-content a b{color:#50baf9}[data-ea-publisher].loaded.dark .ea-callout a:link,[data-ea-type].loaded.dark .ea-callout a:link{color:#c3c3c3}[data-ea-publisher].loaded.dark .ea-callout a:visited,[data-ea-type].loaded.dark .ea-callout a:visited{color:#c3c3c3}[data-ea-publisher].loaded.dark .ea-callout a:hover,[data-ea-type].loaded.dark .ea-callout a:hover{color:#dcdcdc}[data-ea-publisher].loaded.dark .ea-callout a:active,[data-ea-type].loaded.dark .ea-callout a:active{color:#dcdcdc}[data-ea-publisher].loaded.dark .ea-callout a strong,[data-ea-publisher].loaded.dark .ea-callout a b,[data-ea-type].loaded.dark .ea-callout a strong,[data-ea-type].loaded.dark .ea-callout a b{color:#50baf9}@media (prefers-color-scheme: dark){[data-ea-publisher].loaded.adaptive .ea-content,[data-ea-type].loaded.adaptive .ea-content{background:rgba(255,255,255,0.05);color:#dcdcdc}[data-ea-publisher].loaded.adaptive .ea-content a:link,[data-ea-type].loaded.adaptive .ea-content a:link{color:#dcdcdc}[data-ea-publisher].loaded.adaptive .ea-content a:visited,[data-ea-type].loaded.adaptive .ea-content a:visited{color:#dcdcdc}[data-ea-publisher].loaded.adaptive .ea-content a:hover,[data-ea-type].loaded.adaptive .ea-content a:hover{color:#f6f6f6}[data-ea-publisher].loaded.adaptive .ea-content a:active,[data-ea-type].loaded.adaptive .ea-content a:active{color:#f6f6f6}[data-ea-publisher].loaded.adaptive .ea-content a strong,[data-ea-publisher].loaded.adaptive .ea-content a b,[data-ea-type].loaded.adaptive .ea-content a strong,[data-ea-type].loaded.adaptive .ea-content a b{color:#50baf9}[data-ea-publisher].loaded.adaptive .ea-callout a:link,[data-ea-type].loaded.adaptive .ea-callout a:link{color:#c3c3c3}[data-ea-publisher].loaded.adaptive .ea-callout a:visited,[data-ea-type].loaded.adaptive .ea-callout a:visited{color:#c3c3c3}[data-ea-publisher].loaded.adaptive .ea-callout a:hover,[data-ea-type].loaded.adaptive .ea-callout a:hover{color:#dcdcdc}[data-ea-publisher].loaded.adaptive .ea-callout a:active,[data-ea-type].loaded.adaptive .ea-callout a:active{color:#dcdcdc}[data-ea-publisher].loaded.adaptive .ea-callout a strong,[data-ea-publisher].loaded.adaptive .ea-callout a b,[data-ea-type].loaded.adaptive .ea-callout a strong,[data-ea-type].loaded.adaptive .ea-callout a b{color:#50baf9}}[data-ea-publisher].loaded .ea-content,[data-ea-type].loaded .ea-content{border:0px;border-radius:3px;box-shadow:0px 2px 3px rgba(0,0,0,0.15)}[data-ea-publisher].loaded.raised .ea-content,[data-ea-type].loaded.raised .ea-content{border:0px;border-radius:3px;box-shadow:0px 2px 3px rgba(0,0,0,0.15)}[data-ea-publisher].loaded.bordered .ea-content,[data-ea-type].loaded.bordered .ea-content{border:1px solid rgba(0,0,0,0.04);border-radius:3px;box-shadow:none}[data-ea-publisher].loaded.bordered.dark .ea-content,[data-ea-type].loaded.bordered.dark .ea-content{border:1px solid rgba(255,255,255,0.07)}@media (prefers-color-scheme: dark){[data-ea-publisher].loaded.bordered.adaptive .ea-content,[data-ea-type].loaded.bordered.adaptive .ea-content{border:1px solid rgba(255,255,255,0.07)}}[data-ea-publisher].loaded.flat .ea-content,[data-ea-type].loaded.flat .ea-content{border:0px;border-radius:3px;box-shadow:none}[data-ea-type=\"image\"].loaded,[data-ea-publisher]:not([data-ea-type]).loaded,.ea-type-image{display:inline-block}[data-ea-type=\"image\"].loaded .ea-content,[data-ea-publisher]:not([data-ea-type]).loaded .ea-content,.ea-type-image .ea-content{max-width:180px;overflow:auto;text-align:center}[data-ea-type=\"image\"].loaded .ea-content>a>img,[data-ea-publisher]:not([data-ea-type]).loaded .ea-content>a>img,.ea-type-image .ea-content>a>img{width:120px;height:90px;display:inline-block}[data-ea-type=\"image\"].loaded .ea-content>.ea-text,[data-ea-publisher]:not([data-ea-type]).loaded .ea-content>.ea-text,.ea-type-image .ea-content>.ea-text{margin-top:1em;font-size:1em;text-align:center}[data-ea-type=\"image\"].loaded .ea-callout,[data-ea-publisher]:not([data-ea-type]).loaded .ea-callout,.ea-type-image .ea-callout{max-width:180px;margin:0em 1em 1em 1em;padding-left:1em;padding-right:1em;font-style:italic;text-align:right}[data-ea-type=\"image\"].loaded.horizontal .ea-content,[data-ea-publisher]:not([data-ea-type]).loaded.horizontal .ea-content,.ea-type-image.horizontal .ea-content{max-width:320px}[data-ea-type=\"image\"].loaded.horizontal .ea-content>a>img,[data-ea-publisher]:not([data-ea-type]).loaded.horizontal .ea-content>a>img,.ea-type-image.horizontal .ea-content>a>img{float:left;margin-right:1em}[data-ea-type=\"image\"].loaded.horizontal .ea-content .ea-text,[data-ea-publisher]:not([data-ea-type]).loaded.horizontal .ea-content .ea-text,.ea-type-image.horizontal .ea-content .ea-text{margin-top:0em;text-align:left;overflow:auto}[data-ea-type=\"image\"].loaded.horizontal .ea-callout,[data-ea-publisher]:not([data-ea-type]).loaded.horizontal .ea-callout,.ea-type-image.horizontal .ea-callout{max-width:320px;text-align:right}[data-ea-type=\"text\"].loaded,.ea-type-text{font-size:14px}[data-ea-type=\"text\"].loaded .ea-content,.ea-type-text .ea-content{text-align:left}[data-ea-type=\"text\"].loaded .ea-callout,.ea-type-text .ea-callout{margin:0.5em 1em 1em 1em;padding-left:1em;padding-right:1em;text-align:right;font-style:italic}[data-ea-style=\"stickybox\"].loaded .ea-type-image{z-index:1000;position:fixed;bottom:20px;right:20px}[data-ea-style=\"stickybox\"].loaded .ea-type-image .ea-stickybox-hide{cursor:pointer;position:absolute;top:0.75em;right:0.75em;background-color:#fefefe;border:1px solid #088cdb;border-radius:50%;color:#088cdb;font-size:1em;text-align:center;height:1.5em;width:1.5em;line-height:1.5em}@media (max-width: 1300px){[data-ea-style=\"stickybox\"].loaded .ea-type-image{position:static;bottom:0;right:0;margin:auto;text-align:center}[data-ea-style=\"stickybox\"].loaded .ea-type-image .ea-stickybox-hide{display:none}}@media (min-width: 1301px){[data-ea-style=\"stickybox\"].loaded .ea-type-image .ea-content{background:#dcdcdc}[data-ea-style=\"stickybox\"].loaded.dark .ea-type-image .ea-content{background:#505050}}@media (min-width: 1301px) and (prefers-color-scheme: dark){[data-ea-style=\"stickybox\"].loaded.adaptive .ea-type-image .ea-content{background:#505050}}\n</style></head>\n\n<body>\n\n    <div id=\"touchnav-wrapper\">\n\n        <div id=\"nojs\" class=\"do-not-print\">\n            <p><strong>Notice:</strong> While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience. </p>\n        </div>\n\n        <!--[if lte IE 8]>\n        <div id=\"oldie-warning\" class=\"do-not-print\">\n            <p>\n                <strong>Notice:</strong> Your browser is <em>ancient</em>. Please\n                <a href=\"http://browsehappy.com/\">upgrade to a different browser</a> to experience a better web.\n            </p>\n        </div>\n        <![endif]-->\n\n        <!-- Sister Site Links -->\n        <div id=\"top\" class=\"top-bar do-not-print\">\n\n            <nav class=\"meta-navigation container\" role=\"navigation\">\n\n                \n                <div class=\"skip-link screen-reader-text\">\n                    <a href=\"#content\" title=\"Skip to content\">Skip to content</a>\n                </div>\n\n                \n                <a id=\"close-python-network\" class=\"jump-link\" href=\"#python-network\" aria-hidden=\"true\">\n                    <span aria-hidden=\"true\" class=\"icon-arrow-down\"><span>▼</span></span> Close\n                </a>\n\n                \n\n<ul class=\"menu\" role=\"tree\">\n    \n    <li class=\"python-meta \">\n        <a href=\"/\" title=\"The Python Programming Language\">Python</a>\n    </li>\n    \n    <li class=\"psf-meta \">\n        <a href=\"https://www.python.org/psf/\" title=\"The Python Software Foundation\">PSF</a>\n    </li>\n    \n    <li class=\"docs-meta \">\n        <a href=\"https://docs.python.org\" title=\"Python Documentation\">Docs</a>\n    </li>\n    \n    <li class=\"pypi-meta \">\n        <a href=\"https://pypi.org/\" title=\"Python Package Index\">PyPI</a>\n    </li>\n    \n    <li class=\"jobs-meta \">\n        <a href=\"/jobs/\" title=\"Python Job Board\">Jobs</a>\n    </li>\n    \n    <li class=\"shop-meta \">\n        <a href=\"/community-landing/\">Community</a>\n    </li>\n    \n</ul>\n\n\n                <a id=\"python-network\" class=\"jump-link\" href=\"#top\" aria-hidden=\"true\">\n                    <span aria-hidden=\"true\" class=\"icon-arrow-up\"><span>▲</span></span> The Python Network\n                </a>\n\n            </nav>\n\n        </div>\n\n        <!-- Header elements -->\n        <header class=\"main-header\" role=\"banner\">\n            <div class=\"container\">\n\n                <h1 class=\"site-headline\">\n                    <a href=\"/\"><img class=\"python-logo\" src=\"/static/img/python-logo@2x.png\" alt=\"python™\" width=\"290\" height=\"82\"></a>\n                </h1>\n\n                <div class=\"options-bar-container do-not-print\">\n                    <a href=\"https://psfmember.org/civicrm/contribute/transact?reset=1&amp;id=2\" class=\"donate-button\">Donate</a>\n                    <div class=\"options-bar\">\n                        \n                        <a id=\"site-map-link\" class=\"jump-to-menu\" href=\"#site-map\"><span class=\"menu-icon\">≡</span> Menu</a><form class=\"search-the-site\" action=\"/search/\" method=\"get\">\n                            <fieldset title=\"Search Python.org\">\n\n                                <span aria-hidden=\"true\" class=\"icon-search\"></span>\n\n                                <label class=\"screen-reader-text\" for=\"id-search-field\">Search This Site</label>\n                                <input id=\"id-search-field\" name=\"q\" type=\"search\" role=\"textbox\" class=\"search-field\" placeholder=\"Search\" value=\"pycon\" tabindex=\"1\">\n\n                                <button type=\"submit\" name=\"submit\" id=\"submit\" class=\"search-button\" title=\"Submit this Search\" tabindex=\"3\">\n                                    GO\n                                </button>\n\n                                \n                                <!--[if IE]><input type=\"text\" style=\"display: none;\" disabled=\"disabled\" size=\"1\" tabindex=\"4\"><![endif]-->\n\n                            </fieldset>\n                        </form><span class=\"breaker\"></span><div class=\"adjust-font-size\" aria-hidden=\"true\">\n                            <ul class=\"navigation menu\" aria-label=\"Adjust Text Size on Page\">\n                                <li class=\"tier-1 last\" aria-haspopup=\"true\">\n                                    <a href=\"#\" class=\"action-trigger\"><strong><small>A</small> A</strong></a>\n                                    <ul class=\"subnav menu\">\n                                        <li class=\"tier-2 element-1\" role=\"treeitem\"><a class=\"text-shrink\" title=\"Make Text Smaller\" href=\"javascript:;\">Smaller</a></li>\n                                        <li class=\"tier-2 element-2\" role=\"treeitem\"><a class=\"text-grow\" title=\"Make Text Larger\" href=\"javascript:;\">Larger</a></li>\n                                        <li class=\"tier-2 element-3\" role=\"treeitem\"><a class=\"text-reset\" title=\"Reset any font size changes I have made\" href=\"javascript:;\">Reset</a></li>\n                                    </ul>\n                                </li>\n                            </ul>\n                        </div><div class=\"winkwink-nudgenudge\">\n                            <ul class=\"navigation menu\" aria-label=\"Social Media Navigation\">\n                                <li class=\"tier-1 last\" aria-haspopup=\"true\">\n                                    <a href=\"#\" class=\"action-trigger\">Socialize</a>\n                                    <ul class=\"subnav menu\">\n                                        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"https://www.facebook.com/pythonlang?fref=ts\"><span aria-hidden=\"true\" class=\"icon-facebook\"></span>Facebook</a></li>\n                                        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"https://twitter.com/ThePSF\"><span aria-hidden=\"true\" class=\"icon-twitter\"></span>Twitter</a></li>\n                                        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/community/irc/\"><span aria-hidden=\"true\" class=\"icon-freenode\"></span>Chat on IRC</a></li>\n                                    </ul>\n                                </li>\n                            </ul>\n                        </div>\n                        <span data-html-include=\"/authenticated\"><div class=\"account-signin\">\n    <ul class=\"navigation menu\" aria-label=\"Social Media Navigation\">\n        <li class=\"tier-1 last\" aria-haspopup=\"true\">\n            \n            <a href=\"/accounts/login/\" title=\"Sign Up or Sign In to Python.org\">Sign In</a>\n            <ul class=\"subnav menu\">\n                <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/accounts/signup/\">Sign Up / Register</a></li>\n                <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/accounts/login/\">Sign In</a></li>\n            </ul>\n            \n        </li>\n    </ul>\n</div>\n\n</span>\n                    </div><!-- end options-bar -->\n                </div>\n\n                <nav id=\"mainnav\" class=\"python-navigation main-navigation do-not-print\" role=\"navigation\">\n                    \n                        \n<ul class=\"navigation menu\" role=\"menubar\" aria-label=\"Main Navigation\">\n  \n    \n    \n    <li id=\"about\" class=\"tier-1 element-1   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/about/\" title=\"\" class=\"\">About</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/about/apps/\" title=\"\">Applications</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/about/quotes/\" title=\"\">Quotes</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/about/gettingstarted/\" title=\"\">Getting Started</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/about/help/\" title=\"\">Help</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"http://brochure.getpython.info/\" title=\"\">Python Brochure</a></li>\n    \n<li class=\"tier-2 super-navigation\">\n                                <h4>Python is a programming language that lets you work more quickly and integrate your systems more effectively.</h4>\n                                <p>You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs.  <a href=\"/about\">Learn more about Python</a>.\n                            </p></li></ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"downloads\" class=\"tier-1 element-2   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/downloads/\" title=\"\" class=\"\">Downloads</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/downloads/\" title=\"\">All releases</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/downloads/source/\" title=\"\">Source code</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/downloads/windows/\" title=\"\">Windows</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/downloads/macos/\" title=\"\">macOS</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/download/other/\" title=\"\">Other Platforms</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"https://docs.python.org/3/license.html\" title=\"\">License</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/download/alternatives\" title=\"\">Alternative Implementations</a></li>\n    \n<!-- Download supernav from templates/downloads/supernav.html - Last updated at Feb. 8, 2023, 10:14 a.m. -->\n<li class=\"tier-2 super-navigation\">\n    \n    <div class=\"download-os-macos\" style=\"display: none;\">\n        \n        <h4>Download for macOS</h4>\n        \n        <p>\n            <a class=\"button\" href=\"https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg\">Python 3.11.2</a>\n        </p>\n        \n        <p>Not the OS you are looking for? Python can be used on many operating systems and environments. <a href=\"/downloads/\">View the full list of downloads</a>.</p>\n    </div>\n    \n    <div class=\"download-os-source\" style=\"display: none;\">\n        \n        <h3>Python Source</h3>\n        \n        <p>\n            <a class=\"button\" href=\"https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz\">Python 3.11.2</a>\n        </p>\n        \n        <p>Not the OS you are looking for? Python can be used on many operating systems and environments. <a href=\"/downloads/\">View the full list of downloads</a>.</p>\n    </div>\n    \n    <div class=\"download-os-windows\" style=\"\">\n        \n        <h4>Download for Windows</h4>\n        \n        <p>\n            <a class=\"button\" href=\"https://www.python.org/ftp/python/3.11.2/python-3.11.2-amd64.exe\">Python 3.11.2</a>\n        </p>\n        <p><strong>Note that Python 3.9+ <em>cannot</em> be used on Windows 7 or earlier.</strong></p>\n        <p>Not the OS you are looking for? Python can be used on many operating systems and environments. <a href=\"/downloads/\">View the full list of downloads</a>.</p>\n    </div>\n    \n    <div class=\"download-unknown\" style=\"display: none;\">\n        <h4>Download Python for Any OS</h4>\n        <p>Python can be used on many operating systems and environments.</p>\n        <p>\n            <a class=\"button\" href=\"/downloads/operating-systems/\">View the full list of downloads</a>\n        </p>\n    </div>\n</li>\n</ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"documentation\" class=\"tier-1 element-3   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/doc/\" title=\"\" class=\"\">Documentation</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/doc/\" title=\"\">Docs</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/doc/av\" title=\"\">Audio/Visual Talks</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/BeginnersGuide\" title=\"\">Beginner's Guide</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"https://devguide.python.org/\" title=\"\">Developer's Guide</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"https://docs.python.org/faq/\" title=\"\">FAQ</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"http://wiki.python.org/moin/Languages\" title=\"\">Non-English Docs</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"http://python.org/dev/peps/\" title=\"\">PEP Index</a></li>\n    \n        <li class=\"tier-2 element-8\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/PythonBooks\" title=\"\">Python Books</a></li>\n    \n        <li class=\"tier-2 element-9\" role=\"treeitem\"><a href=\"/doc/essays/\" title=\"\">Python Essays</a></li>\n    \n<li class=\"tier-2 super-navigation\">\n                                <h4>Python’s standard documentation: download, browse or watch a tutorial.</h4>\n                                <p>Get started below, or visit the <a href=\"/doc/versions/\">Documentation page to browse by version</a>. </p>\n                                <br>\n                                <p class=\"download-buttons\">\n                                    <a class=\"button\" href=\"http://docs.python.org/3/\">Python Docs</a> \n                                </p>\n                            </li></ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"community\" class=\"tier-1 element-4   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/community/\" title=\"\" class=\"\">Community</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/community/diversity/\" title=\"\">Diversity</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/community/lists/\" title=\"\">Mailing Lists</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/community/irc/\" title=\"\">IRC</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/community/forums/\" title=\"\">Forums</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/psf/annual-report/2021/\" title=\"\">PSF Annual Impact Report</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"/community/workshops/\" title=\"\">Python Conferences</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/community/sigs/\" title=\"\">Special Interest Groups</a></li>\n    \n        <li class=\"tier-2 element-8\" role=\"treeitem\"><a href=\"/community/logos/\" title=\"\">Python Logo</a></li>\n    \n        <li class=\"tier-2 element-9\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/\" title=\"\">Python Wiki</a></li>\n    \n        <li class=\"tier-2 element-10\" role=\"treeitem\"><a href=\"/psf/conduct/\" title=\"\">Code of Conduct</a></li>\n    \n        <li class=\"tier-2 element-11\" role=\"treeitem\"><a href=\"/community/awards\" title=\"\">Community Awards</a></li>\n    \n        <li class=\"tier-2 element-12\" role=\"treeitem\"><a href=\"/psf/get-involved/\" title=\"\">Get Involved</a></li>\n    \n        <li class=\"tier-2 element-13\" role=\"treeitem\"><a href=\"/psf/community-stories/\" title=\"\">Shared Stories</a></li>\n    \n                            <li class=\"tier-2 super-navigation\">\n                                <h4>The Python Community</h4>\n<p>Great software is supported by great people. Our user base is enthusiastic, dedicated to encouraging use of the language, and committed to being diverse and friendly.</p>\n\n<!--\n                                <p>Here are some events and groups in your area.</p>\n                                <ul class=\"menu\">\n                                    <li><time datetime=\"\">9/30<span class=\"say-no-more\">/2012</span></time> <a href=\"#\">Royal Python Society Meetup, Providence RI</a></li>\n                                    <li><time datetime=\"\">10/4<span class=\"say-no-more\">/2012</span></time> <a href=\"#\">Python Users Group, Boston MA</a></li>\n                                    <li><time datetime=\"\">10/5<span class=\"say-no-more\">/2012</span></time> <a href=\"#\">Python Enthusiasts, Cambridge MA</a></li>\n                            </ul>\n                            </li>--></li></ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"success-stories\" class=\"tier-1 element-5   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/success-stories/\" title=\"success-stories\" class=\"\">Success Stories</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/success-stories/category/arts/\" title=\"\">Arts</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/success-stories/category/business/\" title=\"\">Business</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/success-stories/category/education/\" title=\"\">Education</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/success-stories/category/engineering/\" title=\"\">Engineering</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/success-stories/category/government/\" title=\"\">Government</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"/success-stories/category/scientific/\" title=\"\">Scientific</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/success-stories/category/software-development/\" title=\"\">Software Development</a></li>\n    \n<!-- successstories supernav from templates/successstories/supernav.html -->\n       <li class=\"tier-2 super-navigation\">\n            \n            <blockquote class=\"success-quote\">\n                Einblick reimagines the modern data science workflow in a collaborative data science canvas, rather than a linear notebook. Working in a canvas environment offers many advantages including live collaboration, an expansive visual interface, and a progressive computation engine. In this article, we’ll highlight one of the key ways we’re saving data scientists time–our operators. We’ll go through a couple of our core operators, why Python is such a crucial part of our software solution, and how we augmented our offerings with a user operator interface. The latter allows users to customize and use their own operators, which can be used in any Einblick canvas, and shared with other Einblick users.\n            </blockquote>\n            <p class=\"quote-by\"><cite>Becca Weng</cite>, <a href=\"https://www.einblick.ai/\">Einblick</a></p>\n\n        </li></ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"news\" class=\"tier-1 element-6  \" aria-haspopup=\"true\">\n        <a href=\"/blogs/\" title=\"News from around the Python world\" class=\"\">News</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/blogs/\" title=\"Python Insider Blog Posts\">Python News</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/psf/newsletter/\" title=\"Python Software Foundation Newsletter\">PSF Newsletter</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"http://pyfound.blogspot.com/\" title=\"PSF Blog\">PSF News</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"http://pycon.blogspot.com/\" title=\"PyCon Blog\">PyCon US News</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"http://planetpython.org/\" title=\"Planet Python\">News from the Community</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    \n    \n    <li id=\"events\" class=\"tier-1 element-7   with-supernav\" aria-haspopup=\"true\">\n        <a href=\"/events/\" title=\"\" class=\"\">Events</a>\n        \n            \n\n<ul class=\"subnav menu\" role=\"menu\" aria-hidden=\"true\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/events/python-events/\" title=\"\">Python Events</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/events/python-user-group/\" title=\"\">User Group Events</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/events/python-events/past/\" title=\"\">Python Events Archive</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/events/python-user-group/past/\" title=\"\">User Group Events Archive</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/PythonEventsCalendar#Submitting_an_Event\" title=\"\">Submit an Event</a></li>\n    \n<li class=\"tier-2 super-navigation\">Find events from the Python Community around the world!</li></ul>\n\n        \n    </li>\n    \n    \n    \n    \n  \n</ul>\n\n                    \n                </nav>\n\n                <div class=\"header-banner \"> <!-- for optional \"do-not-print\" class -->\n                    \n                    \n                </div>\n\n                \n                \n\n             </div><!-- end .container -->\n        </header>\n\n        <div id=\"content\" class=\"content-wrapper\">\n            <!-- Main Content Column -->\n            <div class=\"container\">\n\n                <section class=\"main-content \" role=\"main\">\n\n                    \n                    \n\n                    \n\n                    \n    <h2>Search Python.org</h2>\n\n    <form method=\"get\" action=\".\">\n        <p>\n            <input type=\"text\" name=\"q\" value=\"pycon\">\n            <input type=\"submit\" value=\"Search\">\n        </p>\n        \n            <h3>Results</h3>\n\n            <ul class=\"list-recent-events menu\">\n            \n            <li>\n                \n<h3><a href=\"/psf/trademarks/pycon\">PSF PyCon Trademark Usage Policy</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> AR\", \"<span class=\"highlighted\">PyCon</span> Argentina\" in Argentina\n\"<span class=\"highlighted\">PyCon</span> AU\", \"<span class=\"highlighted\">PyCon</span> Australia\"  in Australia\n\"<span class=\"highlighted\">PyCon</span> BY\", \"<span class=\"highlighted\">PyCon</span> Belarus\"  in Belarus\n\"<span class=\"highlighted\">PyCon</span> CA\", \"<span class=\"highlighted\">PyCon</span> Canada\" in Canada\n\"<span class=\"highlighted\">PyCon</span> CN\", \"<span class=\"highlighted\">PyCon</span> China\" in China\n\"<span class=\"highlighted\">PyCon</span> CZ\", \"<span class=\"highlighted\">PyCon</span> Czech\" in Czech Republic\n\"<span class=\"highlighted\">PyCon</span> DE\" in Germany\n\"<span class=\"highlighted\">PyCon</span> ES\", \"<span class=\"highlighted\">PyCon</span> España\", \"<span class=\"highlighted\">PyCon</span> Spain\" in Spain\n\"<span class=\"highlighted\">PyCon</span> FI\", \"Py...\n</p>\n\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/community/workshops\">Conferences and Workshops</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> (New Zealand)\nOSCON (O'Reilly Open Source Convention)\nPlone Conference\n<span class=\"highlighted\">PyCon</span> (US / North America)\n<span class=\"highlighted\">PyCon</span> Argentina (formerly\nPython en Santa Fe (Argentina))\n<span class=\"highlighted\">PyCon</span> Asia Pacific\n<span class=\"highlighted\">PyCon</span> AU (Australia)\n<span class=\"highlighted\">PyCon</span> FI (Finland)\n<span class=\"highlighted\">PyCon</span> FR (France)\n<span class=\"highlighted\">PyCon</span> DE (Germany)\n<span class=\"highlighted\">PyCon</span> India\n<span class=\"highlighted\">PyCon</span> Ireland\n<span class=\"highlighted\">PyCon</span> Italia\n<span class=\"highlighted\">PyCon</span> KR (South Korea)\n<span class=\"highlighted\">PyCon</span> LT (Lithuania)\n<span class=\"highlighted\">PyCon</span> MEA (Middle East &amp; Africa)\n<span class=\"highlighted\">PyCon</span> PH (Philippines)\n<span class=\"highlighted\">PyCon</span> PL (Poland)\n<span class=\"highlighted\">PyCon</span> SK (Slovakia)\n<span class=\"highlighted\">PyCon</span> UK\n<span class=\"highlighted\">PyCon</span> Ukraine\n<span class=\"highlighted\">PyCon</span> ZA (South Africa)\nPyData\nPyGotha...\n</p>\n\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/378/\">PyCon Italia 2016 (PyCon Sette)</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2016-04-15T00:00:00+00:00\">From 15 April</time> \n    <time class=\"date-end\" datetime=\"2016-04-17T00:00:00+00:00\">through 17 April</time>, \n    <time class=\"year\" datetime=\"2016\">2016</time>\n</p>\n\n\n\n\n<p>Location: Hotel Mediterraneo, Lungarno del Tempio, Florence, Italia</p>\n\n\n<p>PyCon Italia 2016 (PyCon Sette)</p>\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/psf/records/board/minutes/2008-04-14\">2008-04-14 PSF Board Meeting Minutes</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> sponsors.\nD. Goodger reported that he will be going over the <span class=\"highlighted\">PyCon</span> hotel bill\nwith CTE this week, but it looks fine.\nK. Kaiser sent a statement of accounts receivable to the Board mailing\nlist.\n\n\n6&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> 2009 Venue\nD. Goodger reported that there are two options for larger venues for\n<span class=\"highlighted\">PyCon</span> 2009, as he emailed previously.\n\nRESOLVED, that the <span class=\"highlighted\">PyCon</span> chairman be authorized to choose the\nvenue for <span class=\"highlighted\">PyCon</span> 2009.\nApproved 7-0-1.\n\n\n7&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Asset Record-Keeping\nD. Goo...\n</p>\n\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/57/\">PyCon Australia 2013</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2013-07-05T00:00:00+00:00\">From 05 July</time> \n    <time class=\"date-end\" datetime=\"2013-07-07T00:00:00+00:00\">through 07 July</time>, \n    <time class=\"year\" datetime=\"2013\">2013</time>\n</p>\n\n\n\n\n<p>Location: Hobart, Australia</p>\n\n\n<p>PyCon Australia 2013</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/776/\">PyCon AU 2019</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2019-08-02T00:00:00+00:00\">From 02 Aug.</time> \n    <time class=\"date-end\" datetime=\"2019-08-06T00:00:00+00:00\">through 06 Aug.</time>, \n    <time class=\"year\" datetime=\"2019\">2019</time>\n</p>\n\n\n\n\n<p>Location: Sydney, Australia</p>\n\n\n<p>PyCon AU</p>\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/community/pycon\">PyCon Home at python.org</a></h3>\n<p>\n    <span class=\"highlighted\">PyCon</span> Home at python.org\n\n\n<span class=\"highlighted\">PyCon</span> is a conference for the Python community, organized by members\nof the Python community.  <span class=\"highlighted\">PyCon</span> is for Python enthusiasts of all\nexperience levels, from new users to core developers.\nThe original <span class=\"highlighted\">PyCon</span> was formed in North America in 2003, but there are\nnow a number of other conferences being run in the <span class=\"highlighted\">PyCon</span> spirit around\nthe world.  Visit the worldwide <span class=\"highlighted\">PyCon</span> web site for more information.\nFor information on <span class=\"highlighted\">PyCon</span> US, please visit the conference website .\n<span class=\"highlighted\">PyCon</span> gi...\n</p>\n\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/psf/records/board/minutes/2012-07-16\">2012-07-16 PSF Board Meeting Minutes</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> AV Management\n6.8.2&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Budgeting\n6.8.3&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Catering\n6.8.4&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Contract Negotiations\n6.8.5&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Electrical\n6.8.6&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Exhibit Hall\n6.8.7&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Financial Aid\n6.8.8&nbsp;&nbsp;&nbsp;Future Event Planning\n6.8.9&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Hotel/CC Management\n6.8.10&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Housing Management\n6.8.11&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Internet\n6.8.12&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Printing\n6.8.13...\n</p>\n\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/10/\">PyCon Australia 2014</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2014-08-01T00:00:00+00:00\">From 01 Aug.</time> \n    <time class=\"date-end\" datetime=\"2014-08-05T00:00:00+00:00\">through 05 Aug.</time>, \n    <time class=\"year\" datetime=\"2014\">2014</time>\n</p>\n\n\n\n\n<p>Location: Brisbane, Australia</p>\n\n\n<p>PyCon Australia 2014</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/76/\">PyCon Ireland 2012</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2012-10-13T00:00:00+00:00\">From 13 Oct.</time> \n    <time class=\"date-end\" datetime=\"2012-10-14T00:00:00+00:00\">through 14 Oct.</time>, \n    <time class=\"year\" datetime=\"2012\">2012</time>\n</p>\n\n\n\n\n<p>Location: Dublin, Ireland</p>\n\n\n<p>PyCon Ireland 2012</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/429/\">PyCon Ireland 2016</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2016-11-05T00:00:00+00:00\">From 05 Nov.</time> \n    <time class=\"date-end\" datetime=\"2016-11-06T00:00:00+00:00\">through 06 Nov.</time>, \n    <time class=\"year\" datetime=\"2016\">2016</time>\n</p>\n\n\n\n\n<p>Location: Dublin, Ireland</p>\n\n\n<p>PyCon Ireland 2016</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/1320/\">PyCon Ireland 2022</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2022-11-12T00:00:00+00:00\">From 12 Nov.</time> \n    <time class=\"date-end\" datetime=\"2022-11-13T00:00:00+00:00\">through 13 Nov.</time>, \n    <time class=\"year\" datetime=\"2022\">2022</time>\n</p>\n\n\n\n\n<p>Location: Dublin, Ireland</p>\n\n\n<p>PyCon Ireland 2022</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/1447/\">PyCon Australia 2014</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2014-08-01T00:00:00+00:00\">From 01 Aug.</time> \n    <time class=\"date-end\" datetime=\"2014-08-05T00:00:00+00:00\">through 05 Aug.</time>, \n    <time class=\"year\" datetime=\"2014\">2014</time>\n</p>\n\n\n\n\n<p>Location: Brisbane, Australia</p>\n\n\n<p>PyCon Australia 2014</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/696/\">PyCon AU 2018</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2018-08-24T00:00:00+00:00\">From 24 Aug.</time> \n    <time class=\"date-end\" datetime=\"2018-08-28T00:00:00+00:00\">through 28 Aug.</time>, \n    <time class=\"year\" datetime=\"2018\">2018</time>\n</p>\n\n\n\n\n<p>Location: ICC, Sydney, Australia</p>\n\n\n<p>PyCon AU 2018</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/1216/\">PyCon APAC 2022</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2022-09-03T00:00:00+00:00\">From 03 Sept.</time> \n    <time class=\"date-end\" datetime=\"2022-09-04T00:00:00+00:00\">through 04 Sept.</time>, \n    <time class=\"year\" datetime=\"2022\">2022</time>\n</p>\n\n\n\n\n<p>Location: Online, Taiwan</p>\n\n\n<p>PyCon APAC 2022 (hosted by PyCon Taiwan)</p>\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/psf/records/board/minutes/2013-02-06\">2013-02-06 PSF Board Meeting Minutes</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> AV Management\n8.3&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Budgeting\n8.4&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Catering\n8.5&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Contract Negotiations\n8.6&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Electrical\n8.7&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Exhibit Hall\n8.8&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Financial Aid\n8.9&nbsp;&nbsp;&nbsp;Future Event Planning\n8.10&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Hotel/CC Management\n8.11&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Housing Management\n8.12&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Internet\n8.13&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span> Printing\n8.14&nbsp;&nbsp;&nbsp;<span class=\"highlighted\">PyCon</span>...\n</p>\n\n            </li>\n            \n            <li>\n                \n<h3><a href=\"/psf/volunteer/pycon\">Volunteer Opportunities for PyCon US</a></h3>\n<p>\n    ...<span class=\"highlighted\">PyCon</span> US 2022 and 2023 in Salt Lake City.\nApplications are closed for the Travel Grant Committee\n<span class=\"highlighted\">PyCon</span> Charlas Committee\nLa Python Software Foundation y el Staff de la <span class=\"highlighted\">PyCon</span> promueve y aprecia la participación de voluntaries. Nuestra misión en apoyar y facilitar el crecimiento de una comunidad diversa e internacional y esto requiere la participación de la comunidad en si misma. El voluntariado para los comítes de la <span class=\"highlighted\">PyCon</span> US son una forma de involucrarse y hacer la diferencia. Si te gustaría uni...\n</p>\n\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/333/\">PyCon Ireland 2015</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2015-10-24T00:00:00+00:00\">From 24 Oct.</time> \n    <time class=\"date-end\" datetime=\"2015-10-25T00:00:00+00:00\">through 25 Oct.</time>, \n    <time class=\"year\" datetime=\"2015\">2015</time>\n</p>\n\n\n\n\n<p>Location: Radisson Blu Royal Hotel Dublin, Golden Ln, Dublin 8</p>\n\n\n<p>PyCon Ireland 2015</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/273/\">PyCon AU 2015</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2015-07-31T00:00:00+00:00\">From 31 July</time> \n    <time class=\"date-end\" datetime=\"2015-08-04T00:00:00+00:00\">through 04 Aug.</time>, \n    <time class=\"year\" datetime=\"2015\">2015</time>\n</p>\n\n\n\n\n<p>Location: Pullman Brisbane King George Square, Roma Street, Brisbane QLD 4000, Australia</p>\n\n\n<p>PyCon AU 2015</p>\n            </li>\n            \n            <li>\n                <h3>Event – <a href=\"/events/python-events/313/\">PyCon MY 2015</a></h3>\n\n\n\n<!-- Different start and end dates -->\n<p class=\"single-event-date\">\n    <time class=\"date-start\" datetime=\"2015-08-21T00:00:00+00:00\">From 21 Aug.</time> \n    <time class=\"date-end\" datetime=\"2015-08-23T00:00:00+00:00\">through 23 Aug.</time>, \n    <time class=\"year\" datetime=\"2015\">2015</time>\n</p>\n\n\n\n\n<p>Location: Faculty of Computer Science and Information Technology, University of Malaya, Malaysia</p>\n\n\n<p>PyCon MY 2015</p>\n            </li>\n            \n            </ul>\n            \n                <div>\n                    « Previous\n                    |\n                    <a href=\"?q=pycon&amp;page=2\">Next »</a>\n                </div>\n            \n        \n    </form>\n\n\n                </section>\n\n                \n                \n\n                \n                \n\n\n            </div><!-- end .container -->\n        </div><!-- end #content .content-wrapper -->\n\n        <!-- Footer and social media list -->\n        \n        <footer id=\"site-map\" class=\"main-footer\" role=\"contentinfo\">\n            <div class=\"main-footer-links\">\n                <div class=\"container\">\n\n                    \n                    <a id=\"back-to-top-1\" class=\"jump-link\" href=\"#python-network\"><span aria-hidden=\"true\" class=\"icon-arrow-up\"><span>▲</span></span> Back to Top</a>\n\n                    \n\n<ul class=\"sitemap navigation menu do-not-print\" role=\"tree\" id=\"container\" style=\"position: relative; height: 540.925px;\">\n    \n    <li class=\"tier-1 element-1\" style=\"position: absolute; left: 0px; top: 0px;\">\n        <a href=\"/about/\">About</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/about/apps/\" title=\"\">Applications</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/about/quotes/\" title=\"\">Quotes</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/about/gettingstarted/\" title=\"\">Getting Started</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/about/help/\" title=\"\">Help</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"http://brochure.getpython.info/\" title=\"\">Python Brochure</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-2\" style=\"position: absolute; left: 196px; top: 0px;\">\n        <a href=\"/downloads/\">Downloads</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/downloads/\" title=\"\">All releases</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/downloads/source/\" title=\"\">Source code</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/downloads/windows/\" title=\"\">Windows</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/downloads/macos/\" title=\"\">macOS</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/download/other/\" title=\"\">Other Platforms</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"https://docs.python.org/3/license.html\" title=\"\">License</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/download/alternatives\" title=\"\">Alternative Implementations</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-3\" style=\"position: absolute; left: 392px; top: 0px;\">\n        <a href=\"/doc/\">Documentation</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/doc/\" title=\"\">Docs</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/doc/av\" title=\"\">Audio/Visual Talks</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/BeginnersGuide\" title=\"\">Beginner's Guide</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"https://devguide.python.org/\" title=\"\">Developer's Guide</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"https://docs.python.org/faq/\" title=\"\">FAQ</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"http://wiki.python.org/moin/Languages\" title=\"\">Non-English Docs</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"http://python.org/dev/peps/\" title=\"\">PEP Index</a></li>\n    \n        <li class=\"tier-2 element-8\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/PythonBooks\" title=\"\">Python Books</a></li>\n    \n        <li class=\"tier-2 element-9\" role=\"treeitem\"><a href=\"/doc/essays/\" title=\"\">Python Essays</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-4\" style=\"position: absolute; left: 588px; top: 0px;\">\n        <a href=\"/community/\">Community</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/community/diversity/\" title=\"\">Diversity</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/community/lists/\" title=\"\">Mailing Lists</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/community/irc/\" title=\"\">IRC</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/community/forums/\" title=\"\">Forums</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/psf/annual-report/2021/\" title=\"\">PSF Annual Impact Report</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"/community/workshops/\" title=\"\">Python Conferences</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/community/sigs/\" title=\"\">Special Interest Groups</a></li>\n    \n        <li class=\"tier-2 element-8\" role=\"treeitem\"><a href=\"/community/logos/\" title=\"\">Python Logo</a></li>\n    \n        <li class=\"tier-2 element-9\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/\" title=\"\">Python Wiki</a></li>\n    \n        <li class=\"tier-2 element-10\" role=\"treeitem\"><a href=\"/psf/conduct/\" title=\"\">Code of Conduct</a></li>\n    \n        <li class=\"tier-2 element-11\" role=\"treeitem\"><a href=\"/community/awards\" title=\"\">Community Awards</a></li>\n    \n        <li class=\"tier-2 element-12\" role=\"treeitem\"><a href=\"/psf/get-involved/\" title=\"\">Get Involved</a></li>\n    \n        <li class=\"tier-2 element-13\" role=\"treeitem\"><a href=\"/psf/community-stories/\" title=\"\">Shared Stories</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-5\" style=\"position: absolute; left: 784px; top: 0px;\">\n        <a href=\"/success-stories/\" title=\"success-stories\">Success Stories</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/success-stories/category/arts/\" title=\"\">Arts</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/success-stories/category/business/\" title=\"\">Business</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/success-stories/category/education/\" title=\"\">Education</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/success-stories/category/engineering/\" title=\"\">Engineering</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/success-stories/category/government/\" title=\"\">Government</a></li>\n    \n        <li class=\"tier-2 element-6\" role=\"treeitem\"><a href=\"/success-stories/category/scientific/\" title=\"\">Scientific</a></li>\n    \n        <li class=\"tier-2 element-7\" role=\"treeitem\"><a href=\"/success-stories/category/software-development/\" title=\"\">Software Development</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-6\" style=\"position: absolute; left: 980px; top: 0px;\">\n        <a href=\"/blogs/\" title=\"News from around the Python world\">News</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/blogs/\" title=\"Python Insider Blog Posts\">Python News</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/psf/newsletter/\" title=\"Python Software Foundation Newsletter\">PSF Newsletter</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"http://pyfound.blogspot.com/\" title=\"PSF Blog\">PSF News</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"http://pycon.blogspot.com/\" title=\"PyCon Blog\">PyCon US News</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"http://planetpython.org/\" title=\"Planet Python\">News from the Community</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-7\" style=\"position: absolute; left: 0px; top: 251px;\">\n        <a href=\"/events/\">Events</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"/events/python-events/\" title=\"\">Python Events</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"/events/python-user-group/\" title=\"\">User Group Events</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"/events/python-events/past/\" title=\"\">Python Events Archive</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/events/python-user-group/past/\" title=\"\">User Group Events Archive</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"https://wiki.python.org/moin/PythonEventsCalendar#Submitting_an_Event\" title=\"\">Submit an Event</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n    <li class=\"tier-1 element-8\" style=\"position: absolute; left: 980px; top: 251px;\">\n        <a href=\"/dev/\">Contributing</a>\n        \n            \n\n<ul class=\"subnav menu\">\n    \n        <li class=\"tier-2 element-1\" role=\"treeitem\"><a href=\"https://devguide.python.org/\" title=\"\">Developer's Guide</a></li>\n    \n        <li class=\"tier-2 element-2\" role=\"treeitem\"><a href=\"https://bugs.python.org/\" title=\"\">Issue Tracker</a></li>\n    \n        <li class=\"tier-2 element-3\" role=\"treeitem\"><a href=\"https://mail.python.org/mailman/listinfo/python-dev\" title=\"\">python-dev list</a></li>\n    \n        <li class=\"tier-2 element-4\" role=\"treeitem\"><a href=\"/dev/core-mentorship/\" title=\"\">Core Mentorship</a></li>\n    \n        <li class=\"tier-2 element-5\" role=\"treeitem\"><a href=\"/dev/security/\" title=\"\">Report a Security Issue</a></li>\n    \n</ul>\n\n        \n    </li>\n    \n</ul>\n\n\n                    <a id=\"back-to-top-2\" class=\"jump-link\" href=\"#python-network\"><span aria-hidden=\"true\" class=\"icon-arrow-up\"><span>▲</span></span> Back to Top</a>\n                    \n\n                </div><!-- end .container -->\n            </div> <!-- end .main-footer-links -->\n\n            <div class=\"site-base\">\n                <div class=\"container\">\n                    \n                    <ul class=\"footer-links navigation menu do-not-print\" role=\"tree\">\n                        <li class=\"tier-1 element-1\"><a href=\"/about/help/\">Help &amp; <span class=\"say-no-more\">General</span> Contact</a></li>\n                        <li class=\"tier-1 element-2\"><a href=\"/community/diversity/\">Diversity <span class=\"say-no-more\">Initiatives</span></a></li>\n                        <li class=\"tier-1 element-3\"><a href=\"https://github.com/python/pythondotorg/issues\">Submit Website Bug</a></li>\n                        <li class=\"tier-1 element-4\">\n                            <a href=\"https://status.python.org/\" title=\"Service Under Maintenance\">Status <span class=\"python-status-indicator-maintenance\" id=\"python-status-indicator\"></span></a>\n                        </li>\n                    </ul>\n\n                    <div class=\"copyright\">\n                        <p><small>\n                            <span class=\"pre\">Copyright ©2001-2023.</span>\n                            &nbsp;<span class=\"pre\"><a href=\"/psf-landing/\">Python Software Foundation</a></span>\n                            &nbsp;<span class=\"pre\"><a href=\"/about/legal/\">Legal Statements</a></span>\n                            &nbsp;<span class=\"pre\"><a href=\"/privacy/\">Privacy Policy</a></span>\n                            &nbsp;<span class=\"pre\"><a href=\"/psf/sponsorship/sponsors/#heroku\">Powered by Heroku</a></span>\n                        </small></p>\n                    </div>\n\n                </div><!-- end .container -->\n            </div><!-- end .site-base -->\n\n        </footer>\n        \n\n    </div><!-- end #touchnav-wrapper -->\n\n    \n    <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\"></script>\n    <script>window.jQuery || document.write('<script src=\"/static/js/libs/jquery-1.8.2.min.js\"><\\/script>')</script>\n    <script src=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js\"></script>\n    <script>window.jQuery || document.write('<script src=\"/static/js/libs/jquery-ui-1.12.1.min.js\"><\\/script>')</script>\n\n    <script src=\"/static/js/libs/masonry.pkgd.min.js\"></script>\n    <script src=\"/static/js/libs/html-includes.js\"></script>\n\n    <script type=\"text/javascript\" src=\"/static/js/main-min.f5487accf7ed.js\" charset=\"utf-8\"></script>\n    \n\n    <!--[if lte IE 7]>\n    <script type=\"text/javascript\" src=\"/static/js/plugins/IE8-min.8af6e26c7a3b.js\" charset=\"utf-8\"></script>\n    \n    \n    <![endif]-->\n\n    <!--[if lte IE 8]>\n    <script type=\"text/javascript\" src=\"/static/js/plugins/getComputedStyle-min.d41d8cd98f00.js\" charset=\"utf-8\"></script>\n    \n    \n    <![endif]-->\n\n    \n\n    \n    \n\n\n\n</body></html>"} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '66676', 'date': 'Sat, 04 Mar 2023 14:13:10 GMT'})
2023-03-04 15:13:10 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
<html class="js no-touch geolocation fontface generatedcontent svg formvalidation placeholder boxsizing retina" dir="ltr" style="" lang="en"><!--<![endif]--><head>
    <!-- Google tag (gtag.js) -->
    <script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-TF35YF9CVH"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-TF35YF9CVH');
    </script>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <link rel="prefetch" href="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
    <link rel="prefetch" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js">

    <meta name="application-name" content="Python.org">
    <meta name="msapplication-tooltip" content="The official home of the Python Programming Language">
    <meta name="apple-mobile-web-app-title" content="Python.org">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="HandheldFriendly" content="True">
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="cleartype" content="on">
    <meta http-equiv="imagetoolbar" content="false">

    <script async="" src="https://media.ethicalads.io/media/client/v1.4.0/ethicalads.min.js" integrity="sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0= sha384-UcmsCqcNRSLW/dV3Lo1oCi2/VaurXbib6p4HyUEOeIa/4OpsrnucrugAefzVZJfI sha512-q4t1L4xEjGV2R4hzqCa41P8jrgFUS8xTb8rdNv4FGvw7FpydVj/kkxBJHOiaoxHa8olCcx1Slk9K+3sNbsM4ug==" crossorigin="anonymous"></script>
    <script src="/static/js/libs/modernizr.js"></script>

    <link href="/static/stylesheets/style.2135bffe4dde.css" rel="stylesheet" type="text/css" media="all" title="default">
    <link href="/static/stylesheets/mq.f9187444a4a1.css" rel="stylesheet" type="text/css" media="not print, braille, embossed, speech, tty">
    

    <!--[if (lte IE 8)&(!IEMobile)]>
    <link href="/static/stylesheets/no-mq.bf0c425cdb73.css" rel="stylesheet" type="text/css" media="screen" />
    
    
    <![endif]-->
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">

    
    <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/static/apple-touch-icon-144x144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/static/apple-touch-icon-114x114-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/static/apple-touch-icon-72x72-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="/static/apple-touch-icon-precomposed.png">
    
In [184]:
driver.close()
2023-03-04 15:13:13 [selenium.webdriver.remote.remote_connection] DEBUG: DELETE http://localhost:61524/session/05b56449-533f-4e95-afb4-2237abec81fc/window {}
2023-03-04 15:13:14 [urllib3.connectionpool] DEBUG: http://localhost:61524 "DELETE /session/05b56449-533f-4e95-afb4-2237abec81fc/window HTTP/1.1" 200 12
2023-03-04 15:13:14 [selenium.webdriver.remote.remote_connection] DEBUG: Remote response: status=200 | data={"value":[]} | headers=HTTPHeaderDict({'content-type': 'application/json; charset=utf-8', 'cache-control': 'no-cache', 'content-length': '12', 'date': 'Sat, 04 Mar 2023 14:13:13 GMT'})
2023-03-04 15:13:14 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request

Uczenie maszynowe z pakietem scikit-learn¶

Pakiet [scikit-learn](https://scikit-learn.org/stable/ jest najpopularniejszym narzędziem do uczenia maszynowego w języku Python

Do wizualizacji wykorzystamy pakiet mlextend

conda install -c conda-forge mlxtend

albo

pip install --user mlxtend

Przykłady w tej sekcji zostały zaadaptowane na podstawie Raschka, Python Machine Learning, 2nd edition

Zobacz też więcej ciekawych przykładów do pobrania ze strony https://github.com/rasbt/python-machine-learning-book-2nd-edition

---- Powrót do spisu treści ----

In [186]:
from sklearn import datasets
import numpy as np
iris = datasets.load_iris()
# wszystkie wiersze - 3i4 kolumna
X = iris.data[:, [2, 3]]
y = iris.target
In [187]:
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.3, random_state=1, stratify=y)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
In [190]:
from sklearn.linear_model import Perceptron
ppn = Perceptron(max_iter=50, eta0=0.1,random_state=0)
ppn.fit(X_train_std, y_train)

y_pred = ppn.predict(X_test_std)
print('Classification errros: %d' % (y_test != y_pred).sum())
Classification errros: 3
In [199]:
np.vstack((y_test, y_pred, y_test != y_pred))
Out[199]:
array([[2, 0, 0, 2, 1, 1, 2, 1, 2, 0, 0, 2, 0, 1, 0, 1, 2, 1, 1, 2, 2, 0,
        1, 2, 1, 1, 1, 2, 0, 2, 0, 0, 1, 1, 2, 2, 0, 0, 0, 1, 2, 2, 1, 0,
        0],
       [2, 0, 0, 2, 1, 1, 2, 1, 2, 0, 0, 2, 0, 0, 0, 1, 2, 1, 1, 2, 2, 0,
        1, 2, 1, 2, 0, 2, 0, 2, 0, 0, 1, 1, 2, 2, 0, 0, 0, 1, 2, 2, 1, 0,
        0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0]])
In [191]:
sum((y_test != y_pred))
Out[191]:
3
In [200]:
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, y_pred)
Out[200]:
array([[15,  0,  0],
       [ 2, 12,  1],
       [ 0,  0, 15]], dtype=int64)
In [201]:
import matplotlib.pyplot as plt
plt.cla()
from mlxtend.plotting import plot_decision_regions
X_combined_std = np.vstack((X_train_std, X_test_std))
y_combined = np.hstack((y_train, y_test))

plot_decision_regions(X_combined_std, y_combined, clf=ppn, legend=2,X_highlight=X_test_std)

plt.xlabel('petal length [standardized]') 
plt.ylabel('petal width [standardized]') 
plt.legend(loc='upper left')
plt.show() 
In [204]:
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(C=1000.0, random_state=0)
lr.fit(X_train_std, y_train) 
plot_decision_regions(X_combined_std, y_combined, clf=lr, legend=2,X_highlight=X_test_std)
plt.xlabel('petal length [standardized]')
plt.ylabel('petal width [standardized]')
plt.legend(loc='upper left')
plt.show()

y_pred = lr.predict(X_test_std)
print('Classification errros: %d' % (y_test != y_pred).sum())
Classification errros: 1
In [205]:
from sklearn.tree import DecisionTreeClassifier
mytree = DecisionTreeClassifier(criterion='gini', 
                              max_depth=4, 
                              random_state=1)
mytree.fit(X_train, y_train)

X_combined = np.vstack((X_train, X_test))
y_combined = np.hstack((y_train, y_test))
plot_decision_regions(X_combined, y_combined, clf=mytree, legend=2,X_highlight=X_test)
plt.xlabel('petal length [cm]')
plt.ylabel('petal width [cm]') 
plt.legend(loc='upper left')
plt.show()

Do wizualizacji drzewa zainstalujemy pydotplus wraz z graphviz

conda install -c conda-forge pydotplus
In [207]:
from pydotplus import graph_from_dot_data
from sklearn.tree import export_graphviz
dot_data = export_graphviz(mytree,
       filled=True,  rounded=True,
       class_names=['Setosa', 'Versicolor',  'Virginica'],
       feature_names=['petal length',  'petal width'],
       out_file=None) 
graph = graph_from_dot_data(dot_data) 
graph.write_png('tree.png')
from IPython.display import Image
Image('tree.png')
Out[207]:
In [209]:
print(dot_data)
digraph Tree {
node [shape=box, style="filled, rounded", color="black", fontname="helvetica"] ;
edge [fontname="helvetica"] ;
0 [label="petal width <= 0.75\ngini = 0.667\nsamples = 105\nvalue = [35, 35, 35]\nclass = Setosa", fillcolor="#ffffff"] ;
1 [label="gini = 0.0\nsamples = 35\nvalue = [35, 0, 0]\nclass = Setosa", fillcolor="#e58139"] ;
0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;
2 [label="petal length <= 4.75\ngini = 0.5\nsamples = 70\nvalue = [0, 35, 35]\nclass = Versicolor", fillcolor="#ffffff"] ;
0 -> 2 [labeldistance=2.5, labelangle=-45, headlabel="False"] ;
3 [label="gini = 0.0\nsamples = 30\nvalue = [0, 30, 0]\nclass = Versicolor", fillcolor="#39e581"] ;
2 -> 3 ;
4 [label="petal width <= 1.75\ngini = 0.219\nsamples = 40\nvalue = [0, 5, 35]\nclass = Virginica", fillcolor="#9355e9"] ;
2 -> 4 ;
5 [label="petal length <= 4.95\ngini = 0.5\nsamples = 8\nvalue = [0, 4, 4]\nclass = Versicolor", fillcolor="#ffffff"] ;
4 -> 5 ;
6 [label="gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]\nclass = Versicolor", fillcolor="#39e581"] ;
5 -> 6 ;
7 [label="gini = 0.444\nsamples = 6\nvalue = [0, 2, 4]\nclass = Virginica", fillcolor="#c09cf2"] ;
5 -> 7 ;
8 [label="petal length <= 4.85\ngini = 0.061\nsamples = 32\nvalue = [0, 1, 31]\nclass = Virginica", fillcolor="#853fe6"] ;
4 -> 8 ;
9 [label="gini = 0.444\nsamples = 3\nvalue = [0, 1, 2]\nclass = Virginica", fillcolor="#c09cf2"] ;
8 -> 9 ;
10 [label="gini = 0.0\nsamples = 29\nvalue = [0, 0, 29]\nclass = Virginica", fillcolor="#8139e5"] ;
8 -> 10 ;
}
In [210]:
import numpy as np
from sklearn import tree
import urllib.request as ul
from pydotplus import graph_from_dot_data
from sklearn.tree import export_graphviz
url = 'http://szufel.pl/python/iris_data.csv'
response = ul.urlopen(url)

#f = open("plik.csv")

z = np.genfromtxt(response,delimiter=",",\
    dtype=None,names=True, encoding="UTF-8")
z
Out[210]:
array([(5.1, 3.5, 1.4, 0.2, 'Iris-setosa'),
       (4.9, 3. , 1.4, 0.2, 'Iris-setosa'),
       (4.7, 3.2, 1.3, 0.2, 'Iris-setosa'),
       (4.6, 3.1, 1.5, 0.2, 'Iris-setosa'),
       (5. , 3.6, 1.4, 0.2, 'Iris-setosa'),
       (5.4, 3.9, 1.7, 0.4, 'Iris-setosa'),
       (4.6, 3.4, 1.4, 0.3, 'Iris-setosa'),
       (5. , 3.4, 1.5, 0.2, 'Iris-setosa'),
       (4.4, 2.9, 1.4, 0.2, 'Iris-setosa'),
       (4.9, 3.1, 1.5, 0.1, 'Iris-setosa'),
       (5.4, 3.7, 1.5, 0.2, 'Iris-setosa'),
       (4.8, 3.4, 1.6, 0.2, 'Iris-setosa'),
       (4.8, 3. , 1.4, 0.1, 'Iris-setosa'),
       (4.3, 3. , 1.1, 0.1, 'Iris-setosa'),
       (5.8, 4. , 1.2, 0.2, 'Iris-setosa'),
       (5.7, 4.4, 1.5, 0.4, 'Iris-setosa'),
       (5.4, 3.9, 1.3, 0.4, 'Iris-setosa'),
       (5.1, 3.5, 1.4, 0.3, 'Iris-setosa'),
       (5.7, 3.8, 1.7, 0.3, 'Iris-setosa'),
       (5.1, 3.8, 1.5, 0.3, 'Iris-setosa'),
       (5.4, 3.4, 1.7, 0.2, 'Iris-setosa'),
       (5.1, 3.7, 1.5, 0.4, 'Iris-setosa'),
       (4.6, 3.6, 1. , 0.2, 'Iris-setosa'),
       (5.1, 3.3, 1.7, 0.5, 'Iris-setosa'),
       (4.8, 3.4, 1.9, 0.2, 'Iris-setosa'),
       (5. , 3. , 1.6, 0.2, 'Iris-setosa'),
       (5. , 3.4, 1.6, 0.4, 'Iris-setosa'),
       (5.2, 3.5, 1.5, 0.2, 'Iris-setosa'),
       (5.2, 3.4, 1.4, 0.2, 'Iris-setosa'),
       (4.7, 3.2, 1.6, 0.2, 'Iris-setosa'),
       (4.8, 3.1, 1.6, 0.2, 'Iris-setosa'),
       (5.4, 3.4, 1.5, 0.4, 'Iris-setosa'),
       (5.2, 4.1, 1.5, 0.1, 'Iris-setosa'),
       (5.5, 4.2, 1.4, 0.2, 'Iris-setosa'),
       (4.9, 3.1, 1.5, 0.1, 'Iris-setosa'),
       (5. , 3.2, 1.2, 0.2, 'Iris-setosa'),
       (5.5, 3.5, 1.3, 0.2, 'Iris-setosa'),
       (4.9, 3.1, 1.5, 0.1, 'Iris-setosa'),
       (4.4, 3. , 1.3, 0.2, 'Iris-setosa'),
       (5.1, 3.4, 1.5, 0.2, 'Iris-setosa'),
       (5. , 3.5, 1.3, 0.3, 'Iris-setosa'),
       (4.5, 2.3, 1.3, 0.3, 'Iris-setosa'),
       (4.4, 3.2, 1.3, 0.2, 'Iris-setosa'),
       (5. , 3.5, 1.6, 0.6, 'Iris-setosa'),
       (5.1, 3.8, 1.9, 0.4, 'Iris-setosa'),
       (4.8, 3. , 1.4, 0.3, 'Iris-setosa'),
       (5.1, 3.8, 1.6, 0.2, 'Iris-setosa'),
       (4.6, 3.2, 1.4, 0.2, 'Iris-setosa'),
       (5.3, 3.7, 1.5, 0.2, 'Iris-setosa'),
       (5. , 3.3, 1.4, 0.2, 'Iris-setosa'),
       (7. , 3.2, 4.7, 1.4, 'Iris-versicolor'),
       (6.4, 3.2, 4.5, 1.5, 'Iris-versicolor'),
       (6.9, 3.1, 4.9, 1.5, 'Iris-versicolor'),
       (5.5, 2.3, 4. , 1.3, 'Iris-versicolor'),
       (6.5, 2.8, 4.6, 1.5, 'Iris-versicolor'),
       (5.7, 2.8, 4.5, 1.3, 'Iris-versicolor'),
       (6.3, 3.3, 4.7, 1.6, 'Iris-versicolor'),
       (4.9, 2.4, 3.3, 1. , 'Iris-versicolor'),
       (6.6, 2.9, 4.6, 1.3, 'Iris-versicolor'),
       (5.2, 2.7, 3.9, 1.4, 'Iris-versicolor'),
       (5. , 2. , 3.5, 1. , 'Iris-versicolor'),
       (5.9, 3. , 4.2, 1.5, 'Iris-versicolor'),
       (6. , 2.2, 4. , 1. , 'Iris-versicolor'),
       (6.1, 2.9, 4.7, 1.4, 'Iris-versicolor'),
       (5.6, 2.9, 3.6, 1.3, 'Iris-versicolor'),
       (6.7, 3.1, 4.4, 1.4, 'Iris-versicolor'),
       (5.6, 3. , 4.5, 1.5, 'Iris-versicolor'),
       (5.8, 2.7, 4.1, 1. , 'Iris-versicolor'),
       (6.2, 2.2, 4.5, 1.5, 'Iris-versicolor'),
       (5.6, 2.5, 3.9, 1.1, 'Iris-versicolor'),
       (5.9, 3.2, 4.8, 1.8, 'Iris-versicolor'),
       (6.1, 2.8, 4. , 1.3, 'Iris-versicolor'),
       (6.3, 2.5, 4.9, 1.5, 'Iris-versicolor'),
       (6.1, 2.8, 4.7, 1.2, 'Iris-versicolor'),
       (6.4, 2.9, 4.3, 1.3, 'Iris-versicolor'),
       (6.6, 3. , 4.4, 1.4, 'Iris-versicolor'),
       (6.8, 2.8, 4.8, 1.4, 'Iris-versicolor'),
       (6.7, 3. , 5. , 1.7, 'Iris-versicolor'),
       (6. , 2.9, 4.5, 1.5, 'Iris-versicolor'),
       (5.7, 2.6, 3.5, 1. , 'Iris-versicolor'),
       (5.5, 2.4, 3.8, 1.1, 'Iris-versicolor'),
       (5.5, 2.4, 3.7, 1. , 'Iris-versicolor'),
       (5.8, 2.7, 3.9, 1.2, 'Iris-versicolor'),
       (6. , 2.7, 5.1, 1.6, 'Iris-versicolor'),
       (5.4, 3. , 4.5, 1.5, 'Iris-versicolor'),
       (6. , 3.4, 4.5, 1.6, 'Iris-versicolor'),
       (6.7, 3.1, 4.7, 1.5, 'Iris-versicolor'),
       (6.3, 2.3, 4.4, 1.3, 'Iris-versicolor'),
       (5.6, 3. , 4.1, 1.3, 'Iris-versicolor'),
       (5.5, 2.5, 4. , 1.3, 'Iris-versicolor'),
       (5.5, 2.6, 4.4, 1.2, 'Iris-versicolor'),
       (6.1, 3. , 4.6, 1.4, 'Iris-versicolor'),
       (5.8, 2.6, 4. , 1.2, 'Iris-versicolor'),
       (5. , 2.3, 3.3, 1. , 'Iris-versicolor'),
       (5.6, 2.7, 4.2, 1.3, 'Iris-versicolor'),
       (5.7, 3. , 4.2, 1.2, 'Iris-versicolor'),
       (5.7, 2.9, 4.2, 1.3, 'Iris-versicolor'),
       (6.2, 2.9, 4.3, 1.3, 'Iris-versicolor'),
       (5.1, 2.5, 3. , 1.1, 'Iris-versicolor'),
       (5.7, 2.8, 4.1, 1.3, 'Iris-versicolor'),
       (6.3, 3.3, 6. , 2.5, 'Iris-virginica'),
       (5.8, 2.7, 5.1, 1.9, 'Iris-virginica'),
       (7.1, 3. , 5.9, 2.1, 'Iris-virginica'),
       (6.3, 2.9, 5.6, 1.8, 'Iris-virginica'),
       (6.5, 3. , 5.8, 2.2, 'Iris-virginica'),
       (7.6, 3. , 6.6, 2.1, 'Iris-virginica'),
       (4.9, 2.5, 4.5, 1.7, 'Iris-virginica'),
       (7.3, 2.9, 6.3, 1.8, 'Iris-virginica'),
       (6.7, 2.5, 5.8, 1.8, 'Iris-virginica'),
       (7.2, 3.6, 6.1, 2.5, 'Iris-virginica'),
       (6.5, 3.2, 5.1, 2. , 'Iris-virginica'),
       (6.4, 2.7, 5.3, 1.9, 'Iris-virginica'),
       (6.8, 3. , 5.5, 2.1, 'Iris-virginica'),
       (5.7, 2.5, 5. , 2. , 'Iris-virginica'),
       (5.8, 2.8, 5.1, 2.4, 'Iris-virginica'),
       (6.4, 3.2, 5.3, 2.3, 'Iris-virginica'),
       (6.5, 3. , 5.5, 1.8, 'Iris-virginica'),
       (7.7, 3.8, 6.7, 2.2, 'Iris-virginica'),
       (7.7, 2.6, 6.9, 2.3, 'Iris-virginica'),
       (6. , 2.2, 5. , 1.5, 'Iris-virginica'),
       (6.9, 3.2, 5.7, 2.3, 'Iris-virginica'),
       (5.6, 2.8, 4.9, 2. , 'Iris-virginica'),
       (7.7, 2.8, 6.7, 2. , 'Iris-virginica'),
       (6.3, 2.7, 4.9, 1.8, 'Iris-virginica'),
       (6.7, 3.3, 5.7, 2.1, 'Iris-virginica'),
       (7.2, 3.2, 6. , 1.8, 'Iris-virginica'),
       (6.2, 2.8, 4.8, 1.8, 'Iris-virginica'),
       (6.1, 3. , 4.9, 1.8, 'Iris-virginica'),
       (6.4, 2.8, 5.6, 2.1, 'Iris-virginica'),
       (7.2, 3. , 5.8, 1.6, 'Iris-virginica'),
       (7.4, 2.8, 6.1, 1.9, 'Iris-virginica'),
       (7.9, 3.8, 6.4, 2. , 'Iris-virginica'),
       (6.4, 2.8, 5.6, 2.2, 'Iris-virginica'),
       (6.3, 2.8, 5.1, 1.5, 'Iris-virginica'),
       (6.1, 2.6, 5.6, 1.4, 'Iris-virginica'),
       (7.7, 3. , 6.1, 2.3, 'Iris-virginica'),
       (6.3, 3.4, 5.6, 2.4, 'Iris-virginica'),
       (6.4, 3.1, 5.5, 1.8, 'Iris-virginica'),
       (6. , 3. , 4.8, 1.8, 'Iris-virginica'),
       (6.9, 3.1, 5.4, 2.1, 'Iris-virginica'),
       (6.7, 3.1, 5.6, 2.4, 'Iris-virginica'),
       (6.9, 3.1, 5.1, 2.3, 'Iris-virginica'),
       (5.8, 2.7, 5.1, 1.9, 'Iris-virginica'),
       (6.8, 3.2, 5.9, 2.3, 'Iris-virginica'),
       (6.7, 3.3, 5.7, 2.5, 'Iris-virginica'),
       (6.7, 3. , 5.2, 2.3, 'Iris-virginica'),
       (6.3, 2.5, 5. , 1.9, 'Iris-virginica'),
       (6.5, 3. , 5.2, 2. , 'Iris-virginica'),
       (6.2, 3.4, 5.4, 2.3, 'Iris-virginica'),
       (5.9, 3. , 5.1, 1.8, 'Iris-virginica')],
      dtype=[('sepal_length', '<f8'), ('sepal_width', '<f8'), ('petal_length', '<f8'), ('petal_width', '<f8'), ('class', '<U15')])
In [211]:
x = np.column_stack([z[name] for name in z.dtype.names[:-1]])
y = z[z.dtype.names[-1]]
print(z.dtype.names)
z['sepal_length']
('sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class')
Out[211]:
array([5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.6, 5. , 4.4, 4.9, 5.4, 4.8, 4.8,
       4.3, 5.8, 5.7, 5.4, 5.1, 5.7, 5.1, 5.4, 5.1, 4.6, 5.1, 4.8, 5. ,
       5. , 5.2, 5.2, 4.7, 4.8, 5.4, 5.2, 5.5, 4.9, 5. , 5.5, 4.9, 4.4,
       5.1, 5. , 4.5, 4.4, 5. , 5.1, 4.8, 5.1, 4.6, 5.3, 5. , 7. , 6.4,
       6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5. , 5.9, 6. , 6.1, 5.6,
       6.7, 5.6, 5.8, 6.2, 5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8, 6.7,
       6. , 5.7, 5.5, 5.5, 5.8, 6. , 5.4, 6. , 6.7, 6.3, 5.6, 5.5, 5.5,
       6.1, 5.8, 5. , 5.6, 5.7, 5.7, 6.2, 5.1, 5.7, 6.3, 5.8, 7.1, 6.3,
       6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5,
       7.7, 7.7, 6. , 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2,
       7.4, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6. , 6.9, 6.7, 6.9, 5.8,
       6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9])
In [212]:
clf = tree.DecisionTreeClassifier(max_depth=3)
clf = clf.fit(x, y)

dot_data = export_graphviz(clf,
       filled=True,  rounded=True,
       class_names=['Setosa', 'Versicolor',  'Virginica'],
       feature_names=['sepal_length','sepal_width','petal length',  'petal width'],
       out_file=None) 
graph = graph_from_dot_data(dot_data) 
graph.write_png('tree2.png')
from IPython.display import Image
Image('tree2.png')
Out[212]:
In [213]:
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import pandas as pd

# x is from the previous example

est = KMeans(n_clusters=3)
est.fit(x)
df = pd.DataFrame({z.dtype.names[i] : x[:,i] for i in range(4) })
from pandas.plotting import scatter_matrix
scatter_matrix(df,c=est.labels_, marker='o')
plt.show()
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=8.0.
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFiveSymReg.ttf', name='STIXSizeFiveSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerifDisplay.ttf', name='DejaVu Serif Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizOneSymBol.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-Bold.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmr10.ttf', name='cmr10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-Bold.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 0.33499999999999996
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-Oblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 1.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmb10.ttf', name='cmb10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizThreeSymBol.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-BoldOblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 1.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-BoldOblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizTwoSymBol.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniBol.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFourSymReg.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizThreeSymReg.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmex10.ttf', name='cmex10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-Italic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralBol.ttf', name='STIXGeneral', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmss10.ttf', name='cmss10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmtt10.ttf', name='cmtt10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmmi10.ttf', name='cmmi10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFourSymBol.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralBolIta.ttf', name='STIXGeneral', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniBolIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizOneSymReg.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-Oblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmsy10.ttf', name='cmsy10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizTwoSymReg.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 0.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansDisplay.ttf', name='DejaVu Sans Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUni.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-BoldItalic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneral.ttf', name='STIXGeneral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralItalic.ttf', name='STIXGeneral', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-Bold.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Light.ttf', name='LG Smart UI', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguibli.ttf', name='Segoe UI', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LHANDW.TTF', name='Lucida Handwriting', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CURLZ___.TTF', name='Curlz MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LATINWD.TTF', name='Wide Latin', style='normal', variant='normal', weight=400, stretch='expanded', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASBD.TTF', name='Eras Bold ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNB.TTF', name='Arial', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 6.8986363636363635
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SitkaVF-Italic.ttf', name='Sitka', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ELEPHNTI.TTF', name='Elephant', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-LIGHT.TTF', name='Dubai', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\micross.ttf', name='Microsoft Sans Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXDI.TTF', name='Lucida Fax', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CR.TTF', name='Bodoni MT', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HARLOWSI.TTF', name='Harlow Solid Italic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\phagspa.ttf', name='Microsoft PhagsPa', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Bold.ttf', name='JuliaMono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FELIXTI.TTF', name='Felix Titling', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuiz.ttf', name='Segoe UI', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\gadugib.ttf', name='Gadugi', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELLB.TTF', name='Bell MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FTLTLT.TTF', name='Footlight MT Light', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolai.ttf', name='Consolas', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRITANIC.TTF', name='Britannic Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSDI.TTF', name='Lucida Sans', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesi.ttf', name='Times New Roman', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarai.ttf', name='Candara', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEB.TTF', name='Lucida Sans Typewriter', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCBI____.TTF', name='Tw Cen MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiai.ttf', name='Georgia', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BERNHC.TTF', name='Bernard MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARABD.TTF', name='Garamond', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUABI.TTF', name='Book Antiqua', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgunsl.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCEDSCR.TTF', name='Edwardian Script ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjhl.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=290, stretch='normal', size='scalable')) = 10.1545
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelli.ttf', name='Corbel', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\courbd.ttf', name='Courier New', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COLONNA.TTF', name='Colonna MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OLDENGL.TTF', name='Old English Text MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MSUIGHUB.TTF', name='Microsoft Uighur', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ALGER.TTF', name='Algerian', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ariblk.ttf', name='Arial', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 6.888636363636364
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSDB.TTF', name='Berlin Sans FB Demi', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Nirmala.ttf', name='Nirmala UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothL.ttc', name='Yu Gothic', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCK.TTF', name='Rockwell', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSI.TTF', name='Lucida Sans', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILBI___.TTF', name='Gill Sans MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisb.ttf', name='Segoe UI', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARLRDBD.TTF', name='Arial Rounded MT Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUAI.TTF', name='Book Antiqua', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MATURASC.TTF', name='Matura MT Script Capitals', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHIC.TTF', name='Century Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comici.ttf', name='Comic Sans MS', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILLUBCD.TTF', name='Gill Sans Ultra Bold Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITED.TTF', name='Lucida Bright', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FREESCPT.TTF', name='Freestyle Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADMIT.TTF', name='Franklin Gothic Demi', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG PC.ttf', name='LG PC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GLSNECB.TTF', name='Gill Sans MT Ext Condensed Bold', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFB.TTF', name='Californian FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\REFSAN.TTF', name='MS Reference Sans Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguili.ttf', name='Segoe UI', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\framd.ttf', name='Franklin Gothic Medium', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARA.TTF', name='Garamond', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BKANT.TTF', name='Book Antiqua', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERI____.TTF', name='Perpetua', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\REFSPCL.TTF', name='MS Reference Specialty', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HARNGTON.TTF', name='Harrington', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ELEPHNT.TTF', name='Elephant', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SitkaVF.ttf', name='Sitka', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arial.ttf', name='Arial', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 6.413636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JUICE___.TTF', name='Juice ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOSB.TTF', name='Goudy Old Style', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-REGULAR.TTF', name='Dubai', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrib.ttf', name='Calibri', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITEDI.TTF', name='Lucida Bright', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILSANUB.TTF', name='Gill Sans Ultra Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_PSTC.TTF', name='Bodoni MT', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palabi.ttf', name='Palatino Linotype', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNI.TTF', name='Arial', style='italic', variant='normal', weight=400, stretch='condensed', size='scalable')) = 7.613636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKBI.TTF', name='Rockwell', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelaUIb.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JOKERMAN.TTF', name='Jokerman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanaz.ttf', name='Verdana', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 4.971363636363637
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiab.ttf', name='Georgia', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\KUNSTLER.TTF', name='Kunstler Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Bold.ttf', name='LG Smart UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\impact.ttf', name='Impact', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BoldLatin.ttf', name='JuliaMono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cour.ttf', name='Courier New', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FORTE.TTF', name='Forte', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BLAR.TTF', name='Bodoni MT', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NirmalaS.ttf', name='Nirmala UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\simsun.ttc', name='SimSun', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-MediumItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=500, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SegUIVar.ttf', name='Segoe UI Variable', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Inkfree.ttf', name='Ink Free', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELL.TTF', name='Bell MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candaraz.ttf', name='Candara', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibri.ttf', name='Calibri', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-MEDIUM.TTF', name='Dubai', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanab.ttf', name='Verdana', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 3.9713636363636367
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COPRGTL.TTF', name='Copperplate Gothic Light', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GLECB.TTF', name='Gloucester MT Extra Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MTEXTRA.TTF', name='MT Extra', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgia.ttf', name='Georgia', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICI.TTF', name='Century Gothic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRUSHSCI.TTF', name='Brush Script MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SHOWG.TTF', name='Showcard Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Regular.ttf', name='LG Smart UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\AGENCYR.TTF', name='Agency FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ebrima.ttf', name='Ebrima', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constanb.ttf', name='Constantia', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSB.TTF', name='Bookman Old Style', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MISTRAL.TTF', name='Mistral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCMI____.TTF', name='Tw Cen MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITE.TTF', name='Lucida Bright', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTBI.TTF', name='Calisto MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\WINGDNG2.TTF', name='Wingdings 2', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GIL_____.TTF', name='Gill Sans MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoepr.ttf', name='Segoe Print', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LEELAWAD.TTF', name='Leelawadee', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\l_10646.ttf', name='Lucida Sans Unicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GIGI.TTF', name='Gigi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PLAYBILL.TTF', name='Playbill', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ntailub.ttf', name='Microsoft New Tai Lue', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILC____.TTF', name='Gill Sans MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SegoeIcons.ttf', name='Segoe Fluent Icons', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PALSCRI.TTF', name='Palace Script MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ariali.ttf', name='Arial', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 7.413636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_R.TTF', name='Bodoni MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelz.ttf', name='Corbel', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdana.ttf', name='Verdana', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 3.6863636363636365
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CHILLER.TTF', name='Chiller', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTB.TTF', name='Calisto MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CASTELAR.TTF', name='Castellar', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=400, stretch='condensed', size='scalable')) = 11.25
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERTIBD.TTF', name='Perpetua Titling MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSI.TTF', name='Bookman Old Style', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAHVIT.TTF', name='Franklin Gothic Heavy', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENSCBK.TTF', name='Century Schoolbook', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSD.TTF', name='Lucida Sans', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BASKVILL.TTF', name='Baskerville Old Face', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\gadugi.ttf', name='Gadugi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICB.TTF', name='Century Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comicz.ttf', name='Comic Sans MS', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgun.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriai.ttf', name='Cambria', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENTURY.TTF', name='Century', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OUTLOOK.TTF', name='MS Outlook', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERBI___.TTF', name='Perpetua', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arialbi.ttf', name='Arial', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 7.698636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arialbd.ttf', name='Arial', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 6.698636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\javatext.ttf', name='Javanese Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consola.ttf', name='Consolas', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\courbi.ttf', name='Courier New', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Black.ttf', name='JuliaMono', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSR.TTF', name='Berlin Sans FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoesc.ttf', name='Segoe Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\tahoma.ttf', name='Tahoma', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALN.TTF', name='Arial', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 6.613636363636363
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisli.ttf', name='Segoe UI', style='italic', variant='normal', weight=350, stretch='normal', size='scalable')) = 11.0975
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\taileb.ttf', name='Microsoft Tai Le', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguihis.ttf', name='Segoe UI Historic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADM.TTF', name='Franklin Gothic Demi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXI.TTF', name='Lucida Fax', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguibl.ttf', name='Segoe UI', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKI.TTF', name='Rockwell', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERTILI.TTF', name='Perpetua Titling MT', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoescb.ttf', name='Segoe Script', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mmrtextb.ttf', name='Myanmar Text', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolab.ttf', name='Consolas', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-LightItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_I.TTF', name='Bodoni MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrili.ttf', name='Calibri', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuib.ttf', name='Segoe UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:33 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCCB___.TTF', name='Rockwell Condensed', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRABK.TTF', name='Franklin Gothic Book', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ntailu.ttf', name='Microsoft New Tai Lue', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\AGENCYB.TTF', name='Agency FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucit.ttf', name='Trebuchet MS', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKB.TTF', name='Rockwell', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelawUI.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucbi.ttf', name='Trebuchet MS', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BSSYM7.TTF', name='Bookshelf Symbol 7', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HTOWERT.TTF', name='High Tower Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\wingding.ttf', name='Wingdings', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASMD.TTF', name='Eras Medium ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgunbd.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUAB.TTF', name='Book Antiqua', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCB_____.TTF', name='Tw Cen MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LCALLIG.TTF', name='Lucida Calligraphy', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constanz.ttf', name='Constantia', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSBI.TTF', name='Bookman Old Style', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibriz.ttf', name='Calibri', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOSI.TTF', name='Goudy Old Style', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-RegularItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjhbd.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ebrimabd.ttf', name='Ebrima', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ENGR.TTF', name='Engravers MT', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HTOWERTI.TTF', name='High Tower Text', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADMCN.TTF', name='Franklin Gothic Demi Cond', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-ExtraBold.ttf', name='JuliaMono', style='normal', variant='normal', weight=800, stretch='normal', size='scalable')) = 10.43
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Medium.ttf', name='JuliaMono', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VLADIMIR.TTF', name='Vladimir Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MAGNETOB.TTF', name='Magneto', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAHV.TTF', name='Franklin Gothic Heavy', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriaz.ttf', name='Cambria', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarab.ttf', name='Candara', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASDEMI.TTF', name='Eras Demi ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASLGHT.TTF', name='Eras Light ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOS.TTF', name='Bookman Old Style', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibril.ttf', name='Calibri', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-RegularLatin.ttf', name='JuliaMono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MOD20.TTF', name='Modern No. 20', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOS.TTF', name='Goudy Old Style', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NIAGENG.TTF', name='Niagara Engraved', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILI____.TTF', name='Gill Sans MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palai.ttf', name='Palatino Linotype', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_B.TTF', name='Bodoni MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrii.ttf', name='Calibri', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbell.ttf', name='Corbel', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-SemiBold.ttf', name='JuliaMono', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LEELAWDB.TTF', name='Leelawadee', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MSUIGHUR.TTF', name='Microsoft Uighur', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCEB.TTF', name='Tw Cen MT Condensed Extra Bold', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCKRIST.TTF', name='Kristen ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuii.ttf', name='Segoe UI', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candaral.ttf', name='Candara', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjh.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constani.ttf', name='Constantia', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDYSTO.TTF', name='Goudy Stout', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\webdings.ttf', name='Webdings', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-SemiBoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\couri.ttf', name='Courier New', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\marlett.ttf', name='Marlett', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyhl.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=290, stretch='normal', size='scalable')) = 10.1545
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguiemj.ttf', name='Segoe UI Emoji', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\times.ttf', name='Times New Roman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebuc.ttf', name='Trebuchet MS', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSB.TTF', name='Berlin Sans FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolaz.ttf', name='Consolas', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segmdl2.ttf', name='Segoe MDL2 Assets', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SNAP____.TTF', name='Snap ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CB.TTF', name='Bodoni MT', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuisl.ttf', name='Segoe UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyi.ttf', name='Microsoft Yi Baiti', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\INFROMAN.TTF', name='Informal Roman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CBI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=700, stretch='condensed', size='scalable')) = 11.535
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\holomdl2.ttf', name='HoloLens MDL2 Assets', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constan.ttf', name='Constantia', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKB.TTF', name='Century Schoolbook', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COOPBL.TTF', name='Cooper Black', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothM.ttc', name='Yu Gothic', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\lucon.ttf', name='Lucida Console', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-ExtraBoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=800, stretch='normal', size='scalable')) = 11.43
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COPRGTB.TTF', name='Copperplate Gothic Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesbd.ttf', name='Times New Roman', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyhbd.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BROADW.TTF', name='Broadway', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarali.ttf', name='Candara', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\monbaiti.ttf', name='Mongolian Baiti', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\simsunb.ttf', name='SimSun-ExtB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERB____.TTF', name='Perpetua', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candara.ttf', name='Candara', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelUIsl.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PRISTINA.TTF', name='Pristina', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\symbol.ttf', name='Symbol', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NirmalaB.ttf', name='Nirmala UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TEMPSITC.TTF', name='Tempus Sans ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelb.ttf', name='Corbel', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeui.ttf', name='Segoe UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msgothic.ttc', name='MS Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OCRAEXT.TTF', name='OCR A Extended', style='normal', variant='normal', weight=400, stretch='expanded', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palab.ttf', name='Palatino Linotype', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNBI.TTF', name='Arial', style='italic', variant='normal', weight=700, stretch='condensed', size='scalable')) = 7.8986363636363635
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\pala.ttf', name='Palatino Linotype', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCM_____.TTF', name='Tw Cen MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comic.ttf', name='Comic Sans MS', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIST.TTF', name='Calisto MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanai.ttf', name='Verdana', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 4.6863636363636365
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTI.TTF', name='Calisto MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\RAGE.TTF', name='Rage Italic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriab.ttf', name='Cambria', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAMDCN.TTF', name='Franklin Gothic Medium Cond', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyh.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANS.TTF', name='Lucida Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCB____.TTF', name='Tw Cen MT Condensed', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbeli.ttf', name='Corbel', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEO.TTF', name='Lucida Sans Typewriter', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\IMPRISHA.TTF', name='Imprint MT Shadow', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-SemiBold.ttf', name='LG Smart UI', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisbi.ttf', name='Segoe UI', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PARCHM.TTF', name='Parchment', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\STENCIL.TTF', name='Stencil', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesbi.ttf', name='Times New Roman', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mingliub.ttc', name='MingLiU-ExtB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILB____.TTF', name='Gill Sans MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCC____.TTF', name='Rockwell Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MTCORSVA.TTF', name='Monotype Corsiva', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEBO.TTF', name='Lucida Sans Typewriter', style='oblique', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICBI.TTF', name='Century Gothic', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothR.ttc', name='Yu Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BLAI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\taile.ttf', name='Microsoft Tai Le', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\POORICH.TTF', name='Poor Richard', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BAUHS93.TTF', name='Bauhaus 93', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MAIAN.TTF', name='Maiandra GD', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucbd.ttf', name='Trebuchet MS', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKBI.TTF', name='Century Schoolbook', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuil.ttf', name='Segoe UI', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-BOLD.TTF', name='Dubai', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCBLKAD.TTF', name='Blackadder ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PAPYRUS.TTF', name='Papyrus', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXD.TTF', name='Lucida Fax', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENTAUR.TTF', name='Centaur', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mvboli.ttf', name='MV Boli', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITEI.TTF', name='Lucida Bright', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisym.ttf', name='Segoe UI Symbol', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comicbd.ttf', name='Comic Sans MS', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPE.TTF', name='Lucida Sans Typewriter', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Light.ttf', name='JuliaMono', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mmrtext.ttf', name='Myanmar Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKEB.TTF', name='Rockwell Extra Bold', style='normal', variant='normal', weight=800, stretch='normal', size='scalable')) = 10.43
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeprb.ttf', name='Segoe Print', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARAIT.TTF', name='Garamond', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HATTEN.TTF', name='Haettenschweiler', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFI.TTF', name='Californian FB', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VIVALDII.TTF', name='Vivaldi', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRABKIT.TTF', name='Franklin Gothic Book', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbel.ttf', name='Corbel', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKI.TTF', name='Century Schoolbook', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCM____.TTF', name='Tw Cen MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiaz.ttf', name='Georgia', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\himalaya.ttf', name='Microsoft Himalaya', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VINERITC.TTF', name='Viner Hand ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ONYX.TTF', name='Onyx', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Regular.ttf', name='JuliaMono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BlackItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFR.TTF', name='Californian FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothB.ttc', name='Yu Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PER_____.TTF', name='Perpetua', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\sylfaen.ttf', name='Sylfaen', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\RAVIE.TTF', name='Ravie', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambria.ttc', name='Cambria', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAX.TTF', name='Lucida Fax', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRADHITC.TTF', name='Bradley Hand ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\framdit.ttf', name='Franklin Gothic Medium', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRSCRIPT.TTF', name='French Script MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\bahnschrift.ttf', name='Bahnschrift', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELLI.TTF', name='Bell MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCRIPTBL.TTF', name='Script MT Bold', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NIAGSOL.TTF', name='Niagara Solid', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\tahomabd.ttf', name='Tahoma', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\phagspab.ttf', name='Microsoft PhagsPa', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Gabriola.ttf', name='Gabriola', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\WINGDNG3.TTF', name='Wingdings 3', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:34 [matplotlib.font_manager] DEBUG: findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=8.0 to DejaVu Sans ('C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans.ttf') with score of 0.050000.
In [214]:
import pandas as pd
import numpy as np
df_wine = pd.read_csv('https://archive.ics.uci.edu/'
                      'ml/machine-learning-databases/wine/wine.data',
                      header=None)

df_wine.columns = ['Class label', 'Alcohol', 'Malic acid', 'Ash',
                   'Alcalinity of ash', 'Magnesium', 'Total phenols',
                   'Flavanoids', 'Nonflavanoid phenols', 'Proanthocyanins',
                   'Color intensity', 'Hue', 'OD280/OD315 of diluted wines',
                   'Proline']


df_wine
Out[214]:
Class label Alcohol Malic acid Ash Alcalinity of ash Magnesium Total phenols Flavanoids Nonflavanoid phenols Proanthocyanins Color intensity Hue OD280/OD315 of diluted wines Proline
0 1 14.23 1.71 2.43 15.6 127 2.80 3.06 0.28 2.29 5.64 1.04 3.92 1065
1 1 13.20 1.78 2.14 11.2 100 2.65 2.76 0.26 1.28 4.38 1.05 3.40 1050
2 1 13.16 2.36 2.67 18.6 101 2.80 3.24 0.30 2.81 5.68 1.03 3.17 1185
3 1 14.37 1.95 2.50 16.8 113 3.85 3.49 0.24 2.18 7.80 0.86 3.45 1480
4 1 13.24 2.59 2.87 21.0 118 2.80 2.69 0.39 1.82 4.32 1.04 2.93 735
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
173 3 13.71 5.65 2.45 20.5 95 1.68 0.61 0.52 1.06 7.70 0.64 1.74 740
174 3 13.40 3.91 2.48 23.0 102 1.80 0.75 0.43 1.41 7.30 0.70 1.56 750
175 3 13.27 4.28 2.26 20.0 120 1.59 0.69 0.43 1.35 10.20 0.59 1.56 835
176 3 13.17 2.59 2.37 20.0 120 1.65 0.68 0.53 1.46 9.30 0.60 1.62 840
177 3 14.13 4.10 2.74 24.5 96 2.05 0.76 0.56 1.35 9.20 0.61 1.60 560

178 rows × 14 columns

In [215]:
df_wine['Class label'].values
Out[215]:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
       3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
       3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
       3, 3], dtype=int64)
In [216]:
print('Class labels', np.unique(df_wine['Class label']))
Class labels [1 2 3]
In [217]:
a, b = 6, 7 
In [218]:
from sklearn.model_selection import train_test_split
X, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values
X_train, X_test, y_train, y_test =\
    train_test_split(X, y, 
                     test_size=0.3, 
                     random_state=0, 
                     stratify=y)
In [219]:
from sklearn.preprocessing import StandardScaler

stdsc = StandardScaler()
#stdsc.fit(X_train)
#X_train_std = stdsc.transform(X_train)

X_train_std = stdsc.fit_transform(X_train)
X_test_std = stdsc.transform(X_test)
In [220]:
df_wine.columns
Out[220]:
Index(['Class label', 'Alcohol', 'Malic acid', 'Ash', 'Alcalinity of ash',
       'Magnesium', 'Total phenols', 'Flavanoids', 'Nonflavanoid phenols',
       'Proanthocyanins', 'Color intensity', 'Hue',
       'OD280/OD315 of diluted wines', 'Proline'],
      dtype='object')
In [221]:
from sklearn.ensemble import RandomForestClassifier
import matplotlib.pyplot as plt
feat_labels = df_wine.columns[1:]
forest = RandomForestClassifier(n_estimators=500,
                                random_state=0)
forest.fit(X_train, y_train)
y_pred = forest.predict(X_test)
y_pred == y_test
Out[221]:
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True])
In [222]:
importances = forest.feature_importances_
importances
Out[222]:
array([0.11411629, 0.02696095, 0.01196206, 0.02005486, 0.03374741,
       0.05124025, 0.16276593, 0.01424631, 0.0253044 , 0.16765709,
       0.06108374, 0.13805384, 0.17280686])
In [223]:
indices = np.argsort(importances)[::-1]
for f in range(X_train.shape[1]):
    print("%2d) %-*s %f" % (f + 1, 30, feat_labels[indices[f]], importances[indices[f]]))
plt.title('Feature Importance')
plt.bar(range(X_train.shape[1]), importances[indices], align='center')
plt.xticks(range(X_train.shape[1]),  feat_labels[indices], rotation=90)
plt.xlim([-1, X_train.shape[1]])
plt.tight_layout()
plt.show()
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=12.0.
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFiveSymReg.ttf', name='STIXSizeFiveSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerifDisplay.ttf', name='DejaVu Serif Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizOneSymBol.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-Bold.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmr10.ttf', name='cmr10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-Bold.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 0.33499999999999996
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-Oblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 1.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmb10.ttf', name='cmb10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizThreeSymBol.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans-BoldOblique.ttf', name='DejaVu Sans', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 1.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-BoldOblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizTwoSymBol.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniBol.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFourSymReg.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizThreeSymReg.ttf', name='STIXSizeThreeSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmex10.ttf', name='cmex10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-Italic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralBol.ttf', name='STIXGeneral', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmss10.ttf', name='cmss10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmtt10.ttf', name='cmtt10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmmi10.ttf', name='cmmi10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizFourSymBol.ttf', name='STIXSizeFourSym', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralBolIta.ttf', name='STIXGeneral', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUniBolIta.ttf', name='STIXNonUnicode', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizOneSymReg.ttf', name='STIXSizeOneSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono-Oblique.ttf', name='DejaVu Sans Mono', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\cmsy10.ttf', name='cmsy10', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXSizTwoSymReg.ttf', name='STIXSizeTwoSym', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans.ttf', name='DejaVu Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 0.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansDisplay.ttf', name='DejaVu Sans Display', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXNonUni.ttf', name='STIXNonUnicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-BoldItalic.ttf', name='DejaVu Serif', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneral.ttf', name='STIXGeneral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\STIXGeneralItalic.ttf', name='STIXGeneral', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSerif-Bold.ttf', name='DejaVu Serif', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSansMono.ttf', name='DejaVu Sans Mono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Light.ttf', name='LG Smart UI', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguibli.ttf', name='Segoe UI', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LHANDW.TTF', name='Lucida Handwriting', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CURLZ___.TTF', name='Curlz MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LATINWD.TTF', name='Wide Latin', style='normal', variant='normal', weight=400, stretch='expanded', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASBD.TTF', name='Eras Bold ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNB.TTF', name='Arial', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 6.8986363636363635
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SitkaVF-Italic.ttf', name='Sitka', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ELEPHNTI.TTF', name='Elephant', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-LIGHT.TTF', name='Dubai', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\micross.ttf', name='Microsoft Sans Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXDI.TTF', name='Lucida Fax', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CR.TTF', name='Bodoni MT', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HARLOWSI.TTF', name='Harlow Solid Italic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\phagspa.ttf', name='Microsoft PhagsPa', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Bold.ttf', name='JuliaMono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FELIXTI.TTF', name='Felix Titling', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuiz.ttf', name='Segoe UI', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\gadugib.ttf', name='Gadugi', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELLB.TTF', name='Bell MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FTLTLT.TTF', name='Footlight MT Light', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolai.ttf', name='Consolas', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRITANIC.TTF', name='Britannic Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSDI.TTF', name='Lucida Sans', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesi.ttf', name='Times New Roman', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarai.ttf', name='Candara', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEB.TTF', name='Lucida Sans Typewriter', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCBI____.TTF', name='Tw Cen MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiai.ttf', name='Georgia', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BERNHC.TTF', name='Bernard MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARABD.TTF', name='Garamond', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUABI.TTF', name='Book Antiqua', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgunsl.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCEDSCR.TTF', name='Edwardian Script ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjhl.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=290, stretch='normal', size='scalable')) = 10.1545
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelli.ttf', name='Corbel', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\courbd.ttf', name='Courier New', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COLONNA.TTF', name='Colonna MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OLDENGL.TTF', name='Old English Text MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MSUIGHUB.TTF', name='Microsoft Uighur', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ALGER.TTF', name='Algerian', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ariblk.ttf', name='Arial', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 6.888636363636364
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSDB.TTF', name='Berlin Sans FB Demi', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Nirmala.ttf', name='Nirmala UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothL.ttc', name='Yu Gothic', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCK.TTF', name='Rockwell', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSI.TTF', name='Lucida Sans', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILBI___.TTF', name='Gill Sans MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisb.ttf', name='Segoe UI', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARLRDBD.TTF', name='Arial Rounded MT Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
 1) Proline                        0.172807
 2) Color intensity                0.167657
 3) Flavanoids                     0.162766
 4) OD280/OD315 of diluted wines   0.138054
 5) Alcohol                        0.114116
 6) Hue                            0.061084
 7) Total phenols                  0.051240
 8) Magnesium                      0.033747
 9) Malic acid                     0.026961
10) Proanthocyanins                0.025304
11) Alcalinity of ash              0.020055
12) Nonflavanoid phenols           0.014246
13) Ash                            0.011962
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUAI.TTF', name='Book Antiqua', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MATURASC.TTF', name='Matura MT Script Capitals', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHIC.TTF', name='Century Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comici.ttf', name='Comic Sans MS', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILLUBCD.TTF', name='Gill Sans Ultra Bold Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITED.TTF', name='Lucida Bright', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FREESCPT.TTF', name='Freestyle Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADMIT.TTF', name='Franklin Gothic Demi', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG PC.ttf', name='LG PC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GLSNECB.TTF', name='Gill Sans MT Ext Condensed Bold', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFB.TTF', name='Californian FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\REFSAN.TTF', name='MS Reference Sans Serif', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguili.ttf', name='Segoe UI', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\framd.ttf', name='Franklin Gothic Medium', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARA.TTF', name='Garamond', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BKANT.TTF', name='Book Antiqua', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERI____.TTF', name='Perpetua', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\REFSPCL.TTF', name='MS Reference Specialty', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HARNGTON.TTF', name='Harrington', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ELEPHNT.TTF', name='Elephant', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SitkaVF.ttf', name='Sitka', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arial.ttf', name='Arial', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 6.413636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JUICE___.TTF', name='Juice ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOSB.TTF', name='Goudy Old Style', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-REGULAR.TTF', name='Dubai', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrib.ttf', name='Calibri', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITEDI.TTF', name='Lucida Bright', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILSANUB.TTF', name='Gill Sans Ultra Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_PSTC.TTF', name='Bodoni MT', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palabi.ttf', name='Palatino Linotype', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNI.TTF', name='Arial', style='italic', variant='normal', weight=400, stretch='condensed', size='scalable')) = 7.613636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKBI.TTF', name='Rockwell', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelaUIb.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JOKERMAN.TTF', name='Jokerman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanaz.ttf', name='Verdana', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 4.971363636363637
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiab.ttf', name='Georgia', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\KUNSTLER.TTF', name='Kunstler Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Bold.ttf', name='LG Smart UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\impact.ttf', name='Impact', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BoldLatin.ttf', name='JuliaMono', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cour.ttf', name='Courier New', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FORTE.TTF', name='Forte', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BLAR.TTF', name='Bodoni MT', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NirmalaS.ttf', name='Nirmala UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\simsun.ttc', name='SimSun', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-MediumItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=500, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SegUIVar.ttf', name='Segoe UI Variable', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Inkfree.ttf', name='Ink Free', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELL.TTF', name='Bell MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candaraz.ttf', name='Candara', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibri.ttf', name='Calibri', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-MEDIUM.TTF', name='Dubai', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanab.ttf', name='Verdana', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 3.9713636363636367
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COPRGTL.TTF', name='Copperplate Gothic Light', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GLECB.TTF', name='Gloucester MT Extra Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MTEXTRA.TTF', name='MT Extra', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgia.ttf', name='Georgia', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICI.TTF', name='Century Gothic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRUSHSCI.TTF', name='Brush Script MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SHOWG.TTF', name='Showcard Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-Regular.ttf', name='LG Smart UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\AGENCYR.TTF', name='Agency FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ebrima.ttf', name='Ebrima', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constanb.ttf', name='Constantia', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSB.TTF', name='Bookman Old Style', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MISTRAL.TTF', name='Mistral', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCMI____.TTF', name='Tw Cen MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITE.TTF', name='Lucida Bright', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTBI.TTF', name='Calisto MT', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\WINGDNG2.TTF', name='Wingdings 2', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GIL_____.TTF', name='Gill Sans MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoepr.ttf', name='Segoe Print', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LEELAWAD.TTF', name='Leelawadee', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\l_10646.ttf', name='Lucida Sans Unicode', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GIGI.TTF', name='Gigi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PLAYBILL.TTF', name='Playbill', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ntailub.ttf', name='Microsoft New Tai Lue', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILC____.TTF', name='Gill Sans MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SegoeIcons.ttf', name='Segoe Fluent Icons', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PALSCRI.TTF', name='Palace Script MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ariali.ttf', name='Arial', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 7.413636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_R.TTF', name='Bodoni MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelz.ttf', name='Corbel', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdana.ttf', name='Verdana', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 3.6863636363636365
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CHILLER.TTF', name='Chiller', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTB.TTF', name='Calisto MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CASTELAR.TTF', name='Castellar', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=400, stretch='condensed', size='scalable')) = 11.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERTIBD.TTF', name='Perpetua Titling MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSI.TTF', name='Bookman Old Style', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAHVIT.TTF', name='Franklin Gothic Heavy', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENSCBK.TTF', name='Century Schoolbook', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANSD.TTF', name='Lucida Sans', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BASKVILL.TTF', name='Baskerville Old Face', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\gadugi.ttf', name='Gadugi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICB.TTF', name='Century Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comicz.ttf', name='Comic Sans MS', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgun.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriai.ttf', name='Cambria', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENTURY.TTF', name='Century', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OUTLOOK.TTF', name='MS Outlook', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERBI___.TTF', name='Perpetua', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arialbi.ttf', name='Arial', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 7.698636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\arialbd.ttf', name='Arial', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 6.698636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\javatext.ttf', name='Javanese Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consola.ttf', name='Consolas', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\courbi.ttf', name='Courier New', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Black.ttf', name='JuliaMono', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSR.TTF', name='Berlin Sans FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoesc.ttf', name='Segoe Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\tahoma.ttf', name='Tahoma', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALN.TTF', name='Arial', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 6.613636363636363
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisli.ttf', name='Segoe UI', style='italic', variant='normal', weight=350, stretch='normal', size='scalable')) = 11.0975
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\taileb.ttf', name='Microsoft Tai Le', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguihis.ttf', name='Segoe UI Historic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADM.TTF', name='Franklin Gothic Demi', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXI.TTF', name='Lucida Fax', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguibl.ttf', name='Segoe UI', style='normal', variant='normal', weight=900, stretch='normal', size='scalable')) = 10.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKI.TTF', name='Rockwell', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERTILI.TTF', name='Perpetua Titling MT', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoescb.ttf', name='Segoe Script', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mmrtextb.ttf', name='Myanmar Text', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolab.ttf', name='Consolas', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-LightItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_I.TTF', name='Bodoni MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrili.ttf', name='Calibri', style='italic', variant='normal', weight=300, stretch='normal', size='scalable')) = 11.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuib.ttf', name='Segoe UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCCB___.TTF', name='Rockwell Condensed', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRABK.TTF', name='Franklin Gothic Book', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ntailu.ttf', name='Microsoft New Tai Lue', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\AGENCYB.TTF', name='Agency FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucit.ttf', name='Trebuchet MS', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKB.TTF', name='Rockwell', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelawUI.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucbi.ttf', name='Trebuchet MS', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BSSYM7.TTF', name='Bookshelf Symbol 7', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HTOWERT.TTF', name='High Tower Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\wingding.ttf', name='Wingdings', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASMD.TTF', name='Eras Medium ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\malgunbd.ttf', name='Malgun Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ANTQUAB.TTF', name='Book Antiqua', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCB_____.TTF', name='Tw Cen MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LCALLIG.TTF', name='Lucida Calligraphy', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constanz.ttf', name='Constantia', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOSBI.TTF', name='Bookman Old Style', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibriz.ttf', name='Calibri', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOSI.TTF', name='Goudy Old Style', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-RegularItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjhbd.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ebrimabd.ttf', name='Ebrima', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ENGR.TTF', name='Engravers MT', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HTOWERTI.TTF', name='High Tower Text', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRADMCN.TTF', name='Franklin Gothic Demi Cond', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-ExtraBold.ttf', name='JuliaMono', style='normal', variant='normal', weight=800, stretch='normal', size='scalable')) = 10.43
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Medium.ttf', name='JuliaMono', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VLADIMIR.TTF', name='Vladimir Script', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MAGNETOB.TTF', name='Magneto', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAHV.TTF', name='Franklin Gothic Heavy', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriaz.ttf', name='Cambria', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarab.ttf', name='Candara', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASDEMI.TTF', name='Eras Demi ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ERASLGHT.TTF', name='Eras Light ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOOKOS.TTF', name='Bookman Old Style', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibril.ttf', name='Calibri', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-RegularLatin.ttf', name='JuliaMono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MOD20.TTF', name='Modern No. 20', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDOS.TTF', name='Goudy Old Style', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NIAGENG.TTF', name='Niagara Engraved', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILI____.TTF', name='Gill Sans MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palai.ttf', name='Palatino Linotype', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_B.TTF', name='Bodoni MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\calibrii.ttf', name='Calibri', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbell.ttf', name='Corbel', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-SemiBold.ttf', name='JuliaMono', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LEELAWDB.TTF', name='Leelawadee', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MSUIGHUR.TTF', name='Microsoft Uighur', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCEB.TTF', name='Tw Cen MT Condensed Extra Bold', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCKRIST.TTF', name='Kristen ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuii.ttf', name='Segoe UI', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candaral.ttf', name='Candara', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msjh.ttc', name='Microsoft JhengHei', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constani.ttf', name='Constantia', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOUDYSTO.TTF', name='Goudy Stout', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\webdings.ttf', name='Webdings', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-SemiBoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\couri.ttf', name='Courier New', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\marlett.ttf', name='Marlett', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyhl.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=290, stretch='normal', size='scalable')) = 10.1545
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguiemj.ttf', name='Segoe UI Emoji', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\times.ttf', name='Times New Roman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebuc.ttf', name='Trebuchet MS', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRLNSB.TTF', name='Berlin Sans FB', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\consolaz.ttf', name='Consolas', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segmdl2.ttf', name='Segoe MDL2 Assets', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SNAP____.TTF', name='Snap ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CB.TTF', name='Bodoni MT', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuisl.ttf', name='Segoe UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyi.ttf', name='Microsoft Yi Baiti', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\INFROMAN.TTF', name='Informal Roman', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_CBI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=700, stretch='condensed', size='scalable')) = 11.535
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\holomdl2.ttf', name='HoloLens MDL2 Assets', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\constan.ttf', name='Constantia', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKB.TTF', name='Century Schoolbook', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COOPBL.TTF', name='Cooper Black', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothM.ttc', name='Yu Gothic', style='normal', variant='normal', weight=500, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\lucon.ttf', name='Lucida Console', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-ExtraBoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=800, stretch='normal', size='scalable')) = 11.43
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\COPRGTB.TTF', name='Copperplate Gothic Bold', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesbd.ttf', name='Times New Roman', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyhbd.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BROADW.TTF', name='Broadway', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candarali.ttf', name='Candara', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\monbaiti.ttf', name='Mongolian Baiti', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\simsunb.ttf', name='SimSun-ExtB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PERB____.TTF', name='Perpetua', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Candara.ttf', name='Candara', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LeelUIsl.ttf', name='Leelawadee UI', style='normal', variant='normal', weight=350, stretch='normal', size='scalable')) = 10.0975
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PRISTINA.TTF', name='Pristina', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\symbol.ttf', name='Symbol', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NirmalaB.ttf', name='Nirmala UI', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TEMPSITC.TTF', name='Tempus Sans ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbelb.ttf', name='Corbel', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeui.ttf', name='Segoe UI', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msgothic.ttc', name='MS Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\OCRAEXT.TTF', name='OCR A Extended', style='normal', variant='normal', weight=400, stretch='expanded', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\palab.ttf', name='Palatino Linotype', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ARIALNBI.TTF', name='Arial', style='italic', variant='normal', weight=700, stretch='condensed', size='scalable')) = 7.8986363636363635
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\pala.ttf', name='Palatino Linotype', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCM_____.TTF', name='Tw Cen MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comic.ttf', name='Comic Sans MS', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIST.TTF', name='Calisto MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\verdanai.ttf', name='Verdana', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 4.6863636363636365
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALISTI.TTF', name='Calisto MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\RAGE.TTF', name='Rage Italic', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambriab.ttf', name='Cambria', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRAMDCN.TTF', name='Franklin Gothic Medium Cond', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\msyh.ttc', name='Microsoft YaHei', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LSANS.TTF', name='Lucida Sans', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCB____.TTF', name='Tw Cen MT Condensed', style='normal', variant='normal', weight=700, stretch='condensed', size='scalable')) = 10.535
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbeli.ttf', name='Corbel', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEO.TTF', name='Lucida Sans Typewriter', style='oblique', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\IMPRISHA.TTF', name='Imprint MT Shadow', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LG_Smart_UI-SemiBold.ttf', name='LG Smart UI', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisbi.ttf', name='Segoe UI', style='italic', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PARCHM.TTF', name='Parchment', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\STENCIL.TTF', name='Stencil', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\timesbi.ttf', name='Times New Roman', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mingliub.ttc', name='MingLiU-ExtB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GILB____.TTF', name='Gill Sans MT', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCC____.TTF', name='Rockwell Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MTCORSVA.TTF', name='Monotype Corsiva', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPEBO.TTF', name='Lucida Sans Typewriter', style='oblique', variant='normal', weight=600, stretch='normal', size='scalable')) = 11.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GOTHICBI.TTF', name='Century Gothic', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothR.ttc', name='Yu Gothic', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BOD_BLAI.TTF', name='Bodoni MT', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\taile.ttf', name='Microsoft Tai Le', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\POORICH.TTF', name='Poor Richard', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BAUHS93.TTF', name='Bauhaus 93', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\MAIAN.TTF', name='Maiandra GD', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BoldItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\trebucbd.ttf', name='Trebuchet MS', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKBI.TTF', name='Century Schoolbook', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeuil.ttf', name='Segoe UI', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\DUBAI-BOLD.TTF', name='Dubai', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ITCBLKAD.TTF', name='Blackadder ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PAPYRUS.TTF', name='Papyrus', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAXD.TTF', name='Lucida Fax', style='normal', variant='normal', weight=600, stretch='normal', size='scalable')) = 10.24
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CENTAUR.TTF', name='Centaur', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mvboli.ttf', name='MV Boli', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LBRITEI.TTF', name='Lucida Bright', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\seguisym.ttf', name='Segoe UI Symbol', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\comicbd.ttf', name='Comic Sans MS', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LTYPE.TTF', name='Lucida Sans Typewriter', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Light.ttf', name='JuliaMono', style='normal', variant='normal', weight=300, stretch='normal', size='scalable')) = 10.145
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\mmrtext.ttf', name='Myanmar Text', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ROCKEB.TTF', name='Rockwell Extra Bold', style='normal', variant='normal', weight=800, stretch='normal', size='scalable')) = 10.43
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\segoeprb.ttf', name='Segoe Print', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\GARAIT.TTF', name='Garamond', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\HATTEN.TTF', name='Haettenschweiler', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFI.TTF', name='Californian FB', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VIVALDII.TTF', name='Vivaldi', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRABKIT.TTF', name='Franklin Gothic Book', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\corbel.ttf', name='Corbel', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCHLBKI.TTF', name='Century Schoolbook', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\TCCM____.TTF', name='Tw Cen MT Condensed', style='normal', variant='normal', weight=400, stretch='condensed', size='scalable')) = 10.25
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\georgiaz.ttf', name='Georgia', style='italic', variant='normal', weight=700, stretch='normal', size='scalable')) = 11.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\himalaya.ttf', name='Microsoft Himalaya', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\VINERITC.TTF', name='Viner Hand ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\ONYX.TTF', name='Onyx', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-Regular.ttf', name='JuliaMono', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\JuliaMono-BlackItalic.ttf', name='JuliaMono', style='italic', variant='normal', weight=900, stretch='normal', size='scalable')) = 11.525
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\CALIFR.TTF', name='Californian FB', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\YuGothB.ttc', name='Yu Gothic', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\PER_____.TTF', name='Perpetua', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\sylfaen.ttf', name='Sylfaen', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\RAVIE.TTF', name='Ravie', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\cambria.ttc', name='Cambria', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\LFAX.TTF', name='Lucida Fax', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BRADHITC.TTF', name='Bradley Hand ITC', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\framdit.ttf', name='Franklin Gothic Medium', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\FRSCRIPT.TTF', name='French Script MT', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\bahnschrift.ttf', name='Bahnschrift', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\BELLI.TTF', name='Bell MT', style='italic', variant='normal', weight=400, stretch='normal', size='scalable')) = 11.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\SCRIPTBL.TTF', name='Script MT Bold', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\NIAGSOL.TTF', name='Niagara Solid', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\tahomabd.ttf', name='Tahoma', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\phagspab.ttf', name='Microsoft PhagsPa', style='normal', variant='normal', weight=700, stretch='normal', size='scalable')) = 10.335
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\Gabriola.ttf', name='Gabriola', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: score(FontEntry(fname='C:\\Windows\\Fonts\\WINGDNG3.TTF', name='Wingdings 3', style='normal', variant='normal', weight=400, stretch='normal', size='scalable')) = 10.05
2023-03-04 15:19:37 [matplotlib.font_manager] DEBUG: findfont: Matching sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=12.0 to DejaVu Sans ('C:\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\DejaVuSans.ttf') with score of 0.050000.
In [224]:
x = 5
y = 100
print("%4d %-*s text %8.2f " % (x, 20, "Opis 1",  0.05))
print("%4d %-*s text %8.2f " % (y, 20, "Opis 2s  s s ", 0.4 ))
print("%4d %-*s text %8.2f " % (y, 20, "Opis 3s   s s   s ", 1000.4 ))
   5 Opis 1               text     0.05 
 100 Opis 2s  s s         text     0.40 
 100 Opis 3s   s s   s    text  1000.40 
In [225]:
for f in range(X_train.shape[1]):
    print("%2d) %-*s %f" % (f + 1, 30, feat_labels[indices[f]], importances[indices[f]]))
    
 1) Proline                        0.172807
 2) Color intensity                0.167657
 3) Flavanoids                     0.162766
 4) OD280/OD315 of diluted wines   0.138054
 5) Alcohol                        0.114116
 6) Hue                            0.061084
 7) Total phenols                  0.051240
 8) Magnesium                      0.033747
 9) Malic acid                     0.026961
10) Proanthocyanins                0.025304
11) Alcalinity of ash              0.020055
12) Nonflavanoid phenols           0.014246
13) Ash                            0.011962
In [226]:
X_train2 = X_train[:, :-1]
print(X_train2.shape)
X_test2 = X_test[:, :-1]
print(X_test2.shape)
(124, 12)
(54, 12)
In [227]:
forest.fit(X_train2, y_train)
y_pred = forest.predict(X_test2)
 
In [228]:
importances = forest.feature_importances_
indices = np.argsort(importances)[::-1]
for f in range(X_train2.shape[1]):
    print("%2d) %-*s %f" % (f + 1, 30, feat_labels[indices[f]], importances[indices[f]]))
 1) Color intensity                0.207883
 2) Flavanoids                     0.175342
 3) Alcohol                        0.150646
 4) OD280/OD315 of diluted wines   0.144995
 5) Total phenols                  0.071338
 6) Hue                            0.065862
 7) Magnesium                      0.042051
 8) Malic acid                     0.037948
 9) Alcalinity of ash              0.035822
10) Proanthocyanins                0.028320
11) Ash                            0.022160
12) Nonflavanoid phenols           0.017632

Wprowadzenie do symulacji¶

---- Powrót do spisu treści ----

Symulacje popytu¶

In [229]:
import random as rd2
rd2.seed(0)
[rd2.random() for i in range(5)]
Out[229]:
[0.8444218515250481,
 0.7579544029403025,
 0.420571580830845,
 0.25891675029296335,
 0.5112747213686085]
In [230]:
import numpy as np
import numpy.random as rd
rd.seed(0)
rd.random(5)
Out[230]:
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
In [231]:
import numpy as np
import numpy.random as rd
rd.seed(0)
rd.random(5)
Out[231]:
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
In [232]:
import numpy as np
popyt = np.array([14000,13000,14000,14000,15500, \
   10500,16000,8000,5000,11000,8000,15000] )
cena_pl, cena_ch, cena_wyprz = 100, 80, 40
transport = 100_000

popyt_sr = np.average(popyt)
popyt_std = np.std(popyt,ddof=1)
popyt_sr, popyt_std
Out[232]:
(12000.0, 3496.7517394394367)
In [239]:
import numpy.random as rd
#decyzja 
zakupy = 12000

popyty = np.rint(rd.normal(popyt_sr, popyt_std, 1000)).astype('int')
                 
wydatki = cena_ch * zakupy + transport
In [243]:
sum(popyty[popyty < zakupy])
Out[243]:
4863278
In [246]:
sum(popyty*(popyty<zakupy))
Out[246]:
4863278
In [248]:
wydatki = zakupy*cena_ch + transport
 
przychody = \
        (popyty >= zakupy)*zakupy*cena_pl + \
        (popyty < zakupy)*popyty*cena_pl + \
        (popyty < zakupy)*(zakupy-popyty)* \
                                cena_wyprz
zyski = przychody - wydatki
In [249]:
def symuluj(zakupy,liczba_symulacji):
    np.random.seed(0)
    popyty = np.round(np.random.normal( \
        popyt_sr,popyt_std, liczba_symulacji)).astype('int')
    wydatki = zakupy*cena_ch + transport
    #sprzedaze=np.where(\
    # popyty>=zakupy,zakupy,popyty)
    
    przychody = \
        (popyty >= zakupy)*zakupy*cena_pl + \
        (popyty < zakupy)*popyty*cena_pl + \
        (popyty < zakupy)*(zakupy-popyty)* \
                                cena_wyprz
    zyski = przychody - wydatki
    
    return (np.mean(zyski),np.std(zyski))
In [250]:
symuluj(12000, 100)
Out[250]:
(61335.8, 118294.68083713652)
In [251]:
eksper = range(100,16100,100)
wyniki = [symuluj(zakupy,10000) \
          for zakupy in eksper]
wyniki
Out[251]:
[(-98007.068, 706.764659116456),
 (-96008.04, 767.6597152384641),
 (-94009.24, 832.4426120760515),
 (-92010.44, 900.5648707339188),
 (-90011.64, 971.3241428071266),
 (-88012.84, 1044.184473357079),
 (-86014.04, 1118.7354282402964),
 (-84015.24, 1194.660546933731),
 (-82016.44, 1271.713728163693),
 (-80017.64, 1349.7017857289807),
 (-78019.032, 1428.5980900785214),
 (-76021.426, 1511.1280576192078),
 (-74024.018, 1598.5214592478887),
 (-72027.33, 1691.8304380463196),
 (-70031.422, 1792.4212836038291),
 (-68037.512, 1903.677485777462),
 (-66044.712, 2028.9751001567272),
 (-64052.71, 2167.547594840769),
 (-62061.794, 2320.3045019057304),
 (-60071.394, 2486.294909451411),
 (-58081.444, 2663.6785381993823),
 (-56093.612, 2853.5352658511156),
 (-54106.932, 3056.5578069743747),
 (-52122.436, 3273.1060578453616),
 (-50139.938, 3504.463673111194),
 (-48159.126, 3750.978623789264),
 (-46178.512, 4011.0262459694773),
 (-44200.826, 4284.203113500106),
 (-42224.634, 4571.106650040448),
 (-40251.802, 4871.870026262605),
 (-38284.16, 5189.396047171578),
 (-36320.502, 5525.48738375141),
 (-34359.184, 5880.6409900744675),
 (-32398.184, 6252.7281327548535),
 (-30438.444, 6639.13919562348),
 (-28481.914, 7039.733311468837),
 (-26527.922, 7454.449060924356),
 (-24578.214, 7883.189697717796),
 (-22633.006, 8327.139052757797),
 (-20693.414, 8787.260084042351),
 (-18757.656, 9264.235240194626),
 (-16827.676, 9758.12512109903),
 (-14901.446, 10269.585017374558),
 (-12982.128, 10798.480357514016),
 (-11069.932, 11345.960250035076),
 (-9163.4, 11912.880392247713),
 (-7264.566, 12499.214272571058),
 (-5374.522, 13106.049230470486),
 (-3491.51, 13733.995685156597),
 (-1616.346, 14383.121582197793),
 (250.91, 15053.609139734564),
 (2110.546, 15745.54514336941),
 (3960.366, 16459.01568824953),
 (5800.766, 17194.383934681813),
 (7632.388, 17951.850381992826),
 (9451.968, 18731.273309814685),
 (11256.488, 19533.61959867797),
 (13049.23, 20360.180739057796),
 (14828.496, 21210.96783218493),
 (16593.242, 22086.385766110216),
 (18340.948, 22987.08928901822),
 (20070.426, 23913.748279567637),
 (21779.426, 24867.144698789285),
 (23465.668, 25848.307615659793),
 (25131.06, 26858.652134394237),
 (26776.52, 27898.806144521666),
 (28398.382, 28968.5339356702),
 (29997.438, 30068.691478615357),
 (31574.36, 31199.546867709472),
 (33121.048, 32360.139009925406),
 (34642.332, 33552.339207896905),
 (36134.534, 34775.57519413365),
 (37595.728, 36030.053671761525),
 (39029.43, 37316.81931026679),
 (40431.5, 38634.993587549616),
 (41804.44, 39985.36560351049),
 (43146.78, 41367.23027556474),
 (44459.144, 42780.635102196225),
 (45738.082, 44224.41613997042),
 (46983.486, 45698.62410234912),
 (48197.642, 47203.57370030193),
 (49377.988, 48737.87758152643),
 (50520.282, 50300.5478876769),
 (51625.22, 51891.44777737079),
 (52691.482, 53510.08338812113),
 (53712.816, 55154.52816578294),
 (54686.66, 56824.24299086086),
 (55613.944, 58519.74029987543),
 (56495.532, 60241.215104253795),
 (57326.87, 61987.05125397642),
 (58105.156, 63756.25012918862),
 (58836.156, 65550.78496207093),
 (59514.404, 67368.25204474867),
 (60137.206, 69207.4235456975),
 (60703.044, 71067.55334422358),
 (61220.774, 72951.77256736757),
 (61689.592, 74858.8729847941),
 (62106.828, 76786.97157889753),
 (62474.822, 78736.33247458455),
 (62784.922, 80702.31195085996),
 (63038.856, 82685.29348978127),
 (63233.714, 84683.13592095066),
 (63359.332, 86690.65167429401),
 (63423.888, 88711.35055585307),
 (63428.27, 90744.9277434673),
 (63378.466, 92793.38945294995),
 (63257.568, 94847.17372239078),
 (63071.918, 96908.9736072015),
 (62815.762, 98974.95037795855),
 (62496.972, 101048.51673543366),
 (62114.51, 103128.04215372218),
 (61671.544, 105214.33893503329),
 (61161.36, 107302.22641003494),
 (60582.14, 109389.7644150512),
 (59930.332, 111473.67606197337),
 (59206.308, 113553.20499664084),
 (58407.32, 115625.42448171855),
 (57536.734, 117691.4097011895),
 (56584.434, 119743.24071370227),
 (55556.378, 121783.8168584033),
 (54454.474, 123813.02988031317),
 (53282.328, 125832.02340970447),
 (52049.798, 127846.41487612859),
 (50749.36, 129849.05506868503),
 (49381.944, 131839.35574167853),
 (47937.752, 133808.33580545904),
 (46423.078, 135759.2950656636),
 (44833.032, 137686.8761513855),
 (43170.926, 139592.10637662333),
 (41444.932, 141480.05118374596),
 (39651.672, 143346.28850669423),
 (37797.494, 145194.4896516392),
 (35889.436, 147029.17182764073),
 (33925.77, 148847.20776026367),
 (31894.508, 150636.20262393082),
 (29793.31, 152392.42742526252),
 (27629.25, 154120.76453326302),
 (25410.794, 155827.47808858863),
 (23141.824, 157514.6941931229),
 (20809.788, 159168.6074381348),
 (18423.752, 160796.55905349),
 (15981.55, 162394.6681473179),
 (13487.052, 163965.39427192952),
 (10936.256, 165502.8685217947),
 (8330.944, 167007.38300443147),
 (5677.98, 168484.75543193694),
 (2976.302, 169932.28280478314),
 (215.728, 171336.91264146793),
 (-2594.688, 172707.31009341398),
 (-5451.442, 174045.91573559155),
 (-8351.618, 175354.62631553828),
 (-11302.128, 176623.66272601078),
 (-14298.166, 177857.22430229376),
 (-17340.08, 179053.39930197806),
 (-20421.444, 180218.66035256966),
 (-23538.244, 181356.7193129509),
 (-26692.178, 182464.10703646982),
 (-29883.402, 183539.18796111742),
 (-33115.666, 184575.62091949317),
 (-36379.118, 185585.3555297456)]
In [252]:
import matplotlib.pyplot as plt
plt.cla()
plt.plot(eksper,[w[0] for w in wyniki ],label="zysk")
plt.plot(eksper,[w[1] for w in wyniki ],label="ryzyko")
plt.xlabel("liczba zamowienionych kurtek")
plt.ylabel("zysk/ryzyko")
plt.legend()
plt.show()
In [253]:
import matplotlib.pyplot as plt
plt.cla()
plt.plot([w[0] for w in wyniki ],\
         [w[1] for w in wyniki ])
plt.xlabel("zysk")
plt.ylabel("ryzyko")
plt.show()
In [254]:
### BADANIE DOMINACJI STOCHASTYCZNEJ

def symuluj2(zakupy,liczba_symulacji):
    np.random.seed(0)
    popyty = np.round(np.random.normal( \
        popyt_sr,popyt_std, liczba_symulacji)).astype('int')
    wydatki = zakupy*cena_ch + transport
    #sprzedaze=np.where(\
    # popyty>=zakupy,zakupy,popyty)
    
    przychody = \
        (popyty >= zakupy)*zakupy*cena_pl + \
        (popyty < zakupy)*popyty*cena_pl + \
        (popyty < zakupy)*(zakupy-popyty)* \
                                cena_wyprz
    zyski = przychody - wydatki
    
    return zyski
In [255]:
for zam in range(14_000,8_000,-1000):
    z = symuluj2(zam, 10000)
    plt.hist(z, bins=50, label="%d" % zam)
plt.legend
plt.xlabel("zysk")
plt.ylabel("liczba obs")
plt.show()
In [256]:
for zam in [10_000, 12_000]:
    z = symuluj2(zam, 40000)
    plt.hist(z, bins=200, label="%d" % zam, density=True, cumulative=True)
    
plt.legend(loc=2)
plt.xlabel("zysk")
plt.ylabel("prawdopodobienstwo ze zysk bedzie mniejszy niz")
plt.show()
In [ ]:
 
In [257]:
import scipy.stats
import numpy as np
import matplotlib.pyplot as plt
zyski = symuluj2(11000,100000)
res = scipy.stats.cumfreq(zyski, \
                          numbins=1000)

x = res.lowerlimit + np.linspace(\
    0, res.binsize*res.cumcount.size,\
    res.cumcount.size)
y=res.cumcount/100000
plt.cla()
plt.plot(x,y)


zyski = symuluj2(12000,100000)
res = scipy.stats.cumfreq(zyski, \
                          numbins=1000)

x = res.lowerlimit + np.linspace(\
    0, res.binsize*res.cumcount.size,\
    res.cumcount.size)
y=res.cumcount/100000
plt.plot(x,y)



plt.title("Dystrybuanta empiryczna wynikow symulacji")
plt.show()
In [ ]:
 
In [ ]:
 
In [258]:
sprz_pr=[[0.05,0.25,0.20,0.25,0.20,0.05],\
[0.05,0.25,0.20,0.30,0.15,0.05]]
sprz=[[24000,28000,30000,31000,33000,36000],\
[2500,3500,6000,7500,9000,11000]]
koszt_pr=[[0.05,0.20,0.15,0.10,0.20,0.20,0.10],\
[0.05,0.15,0.20,0.10,0.25,0.15,0.10]]
koszt=[[2.94,2.96,2.98,3.00,3.02,3.04,3.07],\
[5.85,5.90,5.95,6.00,6.05,6.10,6.15]]
inwest_pr=[[0.05,0.10,0.15,0.20,0.30,0.20],\
[0.05,0.20,0.25,0.20,0.20,0.10]]
inwest=[[106000,108000,109000,110000,112000,115000],\
[113000,115000,116000,118000,120000,123000]]
In [259]:
import numpy.random as rd

N=1000000
cena = [4, 11.50]

rois = []

for sku in [0, 1]:
    sprzedaz = rd.choice(sprz[sku], p=sprz_pr[sku], size=N)
    koszt_jedn = rd.choice(koszt[sku], p=koszt_pr[sku], size=N)
    inwestycje = rd.choice(inwest[sku], p=inwest_pr[sku], size=N)
    roi = (cena[sku] - koszt_jedn)*sprzedaz / inwestycje
    rois.append(roi)
In [260]:
plt.hist(rois[0],label="Pistol mean roi=%f" % np.mean(rois[0]),histtype='step',bins=100)
plt.hist(rois[1],label="Moto mean roi=%f" % np.mean(rois[1]),histtype='step',bins=100)
plt.xlabel("ROI")
plt.legend()
plt.show()
In [261]:
plt.hist(rois[0],label="Pistol mean roi=%f" % np.mean(rois[0]),histtype='step',bins=100, density=True, cumulative=True)
plt.hist(rois[1],label="Moto mean roi=%f" % np.mean(rois[1]),histtype='step',bins=100, density=True, cumulative=True)
plt.xlabel("ROI")
plt.ylabel("Prawdopodobienstwo ze ROI mniejsze niz")
plt.legend(loc=2)
plt.show()

Symulacje aktuarialne¶

In [262]:
import csv
import urllib.request as ul
import codecs
import matplotlib.pyplot as plt
import scipy as sc
from scipy.stats.stats import kstest

l_szkod = np.array([       # liczba polis # liczba szkod
  3437,  # 0
  522,   # 1
  40,    # 2
  2,     # 3
  0,     # 4
  0      # 5
])
szkod_0_5 = np.arange(6)
In [263]:
srednia_l_szkod = \
    sum( szkod_0_5 * l_szkod  ) /sum(l_szkod)

srednia_l_szkod
Out[263]:
0.1519620094976256
In [264]:
import pandas as pd

response = ul.urlopen('http://szufel.pl/pliki/szkody.txt')  # , context=ctx
df = pd.read_csv(response, header=None, sep=";")
df.columns=["Id","szkody"]


szkody = df["szkody"].values

plt.hist(szkody,bins=20)
plt.show()
In [265]:
szkody_ln = np.log(szkody)
plt.hist(szkody_ln,bins=20)
plt.show()        
print("Test KS",kstest(szkody_ln, sc.stats.norm.cdf, args=(np.mean(szkody_ln),np.std(szkody_ln))))
#H0 - rozklad normalny - p-value=0.99 brak podstaw do odrzucenia H0

sr_szkoda_ln = np.mean(szkody_ln)
std_szkoda_ln = np.std(szkody_ln)
Test KS KstestResult(statistic=0.016488541498851428, pvalue=0.9973600546107351)
In [266]:
import numpy.random as rd
def symuluj_ubezpieczenia(l_klientow,nadwyzka,skladka,srednia_l_szkod,sr_szkoda_ln,std_szkoda_ln):
    rd.seed(0)    
    daty_umow = rd.randint(0,365, l_klientow)
    kal_l_wplat = np.zeros(365+365+30, dtype="int")
    for dataUmowy in daty_umow:
        kal_l_wplat[dataUmowy] += 1  
    l_szkod_k = rd.poisson(srednia_l_szkod,l_klientow)    
    kal_l_wyplat = np.zeros(365+365+30, dtype="int") #365 to zapas
    for k in range(l_klientow):
        for s in range(l_szkod_k[k]):
            #dla kazdej szkody ustal date wyplaty
            data_wyp = daty_umow[k]+rd.randint(0,365)+rd.randint(15,30)
            kal_l_wyplat[data_wyp] += 1            
    for dzien in range(len(kal_l_wyplat)):
        nadwyzka += kal_l_wplat[dzien]*skladka
        l_wyplat = kal_l_wyplat[dzien]
        odszkodowania = 0 
        if l_wyplat>0:
            odszkodowania=np.sum(rd.lognormal(sr_szkoda_ln,std_szkoda_ln,l_wyplat))
        if ( nadwyzka < odszkodowania ):
           return (nadwyzka-odszkodowania, dzien)
        nadwyzka -= odszkodowania
    return (nadwyzka, dzien)
In [267]:
import numpy as np
symuluj_ubezpieczenia(1000,10000,1000,srednia_l_szkod,sr_szkoda_ln,std_szkoda_ln)
Out[267]:
(241358.1545042042, 759)
In [276]:
blok = 1
with open("C:/temp/wynik"+str(blok)+".txt","w") as f:
    cs = csv.writer(f,delimiter="\t",quotechar=None)    
    for skladka in range(500+blok*100,500+(blok+1)*100,25):
        rd.seed(0)
        wyniki=[symuluj_ubezpieczenia(10000,10000,\
                skladka,srednia_l_szkod,sr_szkoda_ln,std_szkoda_ln)\
                for i in range(100)]
        
        srednia = np.mean(wyniki)
        liczba_ruin = np.sum([1 for x in wyniki if x[0] < 0])
        ruiny = [x[1] for x in wyniki if x[0] < 0]
        sredni_dzien_ruiny = -1
        if len(ruiny) >= 1:
            sredni_dzien_ruiny = np.mean(ruiny)            
        cs.writerow([skladka,srednia,liczba_ruin,sredni_dzien_ruiny])

Symulacje na grafach¶

In [275]:
import networkx as nx
g = nx.Graph()
for n in range(10):
    g.add_node(n)
for n in range(10):
    g.add_edge(n,n+1 if n+1 < 10 else 0)
pos = nx.shell_layout(g)
nx.draw(g, pos)
nx.draw_networkx_labels(g,pos,\
    {n : str(n) for n in g.nodes},\
    font_size=16)
plt.show()
2023-03-04 15:28:50 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:50 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:50 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:50 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
In [270]:
import matplotlib.pyplot as plt
import networkx as nx
import numpy as np

def generuj_siec(size=100, p=0.11, f1=3, f2=3, seed=1):
    g = nx.watts_strogatz_graph(size,4,p,seed)    
    for n in g.nodes:
        g.nodes[n]['state'] = 0
    f1_count = 0
    for n in np.random.choice(list(g.nodes),f1+f2,False):
        if f1_count < f1:
            g.nodes[n]['state'] = 1  #preferuje prod 1
            f1_count  += 1
        else:
            g.nodes[n]['state'] = 2  #preferuje prod 2
    return g
In [271]:
def draw(g):
    pos = nx.shell_layout(g)
    plt.cla()
    cmap = ['blue','lightgreen','yellow']    
    nx.draw(g, pos,node_color=[cmap[g.nodes[n]['state']] for n in g.nodes])
    
    nx.draw_networkx_labels(g,pos,\
        {n : str(n) for n in g.nodes}, font_size=16)
   
np.random.seed(0)

draw(generuj_siec(15))
2023-03-04 15:28:18 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:18 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:18 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:18 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved

Zasady działania modelu symulacyjnego

  1. Wylosować osobę która ma opinię
  2. Jeśli osoba ma opinię różną od zera to wylosować sąsiada tej osoby który nie ma jeszcze opinii
  3. Z pewnym prawdopodobieństwem wylosowanej osobie udaje sie przekonać sąsiada
In [272]:
def symuluj(g, kroki=10):
    for i in range(kroki):
        osoby_z_opinia = [n for n in g.nodes 
                            if g.nodes[n]['state']>0 ]    
        mowca = np.random.choice(osoby_z_opinia)
        sasiedzi_bez_opinii = [n for n in g.neighbors(mowca) 
                                if g.nodes[n]['state']==0 ]
        if len(sasiedzi_bez_opinii) ==0:
            continue
        sluchacz = np.random.choice(sasiedzi_bez_opinii)
        sila_perswazji = 0.95
        if np.random.rand() > (1-sila_perswazji):
            g.nodes[sluchacz]['state'] = g.nodes[mowca]['state']
    return \
        (np.sum([1 for n in g.nodes if g.nodes[n]['state']==1]),
         np.sum([1 for n in g.nodes if g.nodes[n]['state']==2]))
In [273]:
np.random.seed(0)
gg = generuj_siec(20)
sim_res = symuluj(gg)
print(sim_res)
draw(gg)
2023-03-04 15:28:19 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:19 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:19 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
2023-03-04 15:28:19 [matplotlib.axes._base] DEBUG: top of Axes not in the figure, so title not moved
(8, 4)
In [274]:
for powtorz in range(10):
    for f1 in [3,4,5]:
        g = generuj_siec(1000,0.1,f1,3)
        wynik = symuluj(g)
        print(powtorz,f1,wynik[0],wynik[1],sep="\t")
0	3	6	10
0	4	7	10
0	5	11	5
1	3	5	9
1	4	12	5
1	5	12	5
2	3	8	8
2	4	8	7
2	5	8	9
3	3	7	9
3	4	12	5
3	5	11	7
4	3	8	8
4	4	9	7
4	5	8	8
5	3	9	5
5	4	9	7
5	5	12	4
6	3	3	11
6	4	9	7
6	5	10	5
7	3	6	10
7	4	4	12
7	5	13	3
8	3	8	6
8	4	9	8
8	5	14	3
9	3	12	4
9	4	9	8
9	5	13	4

KONIEC¶

---- Powrót do spisu treści ----