Trend diagram :stackoverflow.com
Sikeres (nagyok által is használt, támogatott) nyelv:
Uber, Paypal, Google, Facebook, Instagram, NASA, Netflix, Dropbox, Reddit, MS azure, stb.
Alap Python jellemzők:
- Guido van Rossum Holland programozó találta ki 1989 karácsonyán- A nevét nem a hüllőről kapta, hanem a brit komédiasorozatról, a Monty Pythonról
- Nem gyors, de könnyen bevethető, sok beépülő modul segít bennünket
- A szkriptfileokat .py végződéssel szokás ellátni
- Bytekódot generál és ezt futtatja
- Futtatás közben el is menti .pyc végződésű filenévvel
- Automatikusan generálja
- Alapból interaktív interpreter
- Változók értékeit kiírja ha hivatkozunk rá
- Az értelmező szkriptfileokat futtat, és sorrol sorra halad...
- Szöveg elemzés, ML (machine learning), azaz a gépi tanulás és a big data berobbanásával lehet vele nagyot alkotni
Írhatunk saját elemzést is : Link az eredmény csv filebe lementve vizualizálhatjuk kedvünkre
Nézzünk szét a Github statisztikán itt is elég jól szerepel a python nyelv link2
Python_az_ablakban.pdf
import time
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sqlite3
# -------------------- SQLite
conn = sqlite3.connect(r"c:\Users\
sqlite_alapok = '''
## Tábla létrehozás, ha még nem létezik
conn.execute("create table if not exists user (name text, age integer)")
## Beírás kurzoron keresztül
c = conn.cursor()
c.execute("INSERT INTO user VALUES ('User A', 42)")
c.execute("INSERT INTO user VALUES ('User B', 43)")
## Csoportos beírás
L = [('abcd_dfj', 300),
('cfgd_dyfj', 400),
('sdd_dfjh', 305)]
conn.executemany("insert into user values (?, ?)", L)
## Véglegesítés
conn.commit()
c.execute("SELECT * FROM user")
print('KIIRAS : ',c.fetchall()) ## KIIRAS : [('User A', 42), ('User B', 43)..
rows = c.execute("select * from user")
for row in rows:
print('Nevek : ',row[0]), ## Nevek : cfgd_dyfj
for row in conn.execute("select * from user"):
print('SOR : ',row) ## SOR : ('User A', 42)
'''
## Kapcsolat bezárása
conn.close()
# ----------------- Pandas
## pandas állományba írás
d = {'a': (1, 2, 101), 'b': (2, 2, 202), 'c': (3, 3, 303.123456789),'e': (3,2, 203),'f': (3, 3,103),'g': (2, 1,303)}
df=pd.DataFrame.from_dict(d, orient="index")
df.to_csv("data.csv")
## pandas állományból olvasás
# df = pd.read_csv("data.csv")
# d = df.to_dict()
print('Eredeti : ', df)
## mező átnevezés / sql: select mezo as ujmezo
df.columns = ['col2', 'col3', 'col4']
print('Átnevezett : ', df)
## egyediek kiválasztása / sql: select distinct
np.unique(df['col2'])
print('Egyedi : ', np.unique(df['col2']))
## dátumtra alakítás / sql: select CAST(col1 AS DATE) AS col2
print('Datumra alakítva : ', pd.to_datetime(df['col4']))
## tipzedes pontosság változtatása / select CAST(col1 AS DECIMAL(15,4))
df['col4'] = df['col4'].round(4)
print('Átnevezett : ', df)
## szűrés rekordsorszám és mező sorszám alapján
szurt = df.iloc[0:3, 0:1] ## első három sor kiválasztása és csak a col2 oszlop
szurt.to_csv('my.output.csv', index = 0) ## fejlécsor kihagyása kiíráskor
print('Szűrt : ', szurt)
## első pár sor / sql:SELECT TOP 10
print('Csak az első három sor : ', df.head(3))
## csoportosított összeadás / sql: SELECT col1, col2 ,COUNT(*), agv(mezo)
print('összegzés : ',df.groupby(['col2']).agg({'
## /sql: ROW_NUMBER() OVER (PARTITION BY col2, col3 ORDER BY col4 ASC) AS rn
df2 = df.assign(rn=df.sort_values(['
print('Kiválasztási lista : ', df2)
## / sql: SELECT * FROM (SELECT t.*, ROW_NUMBER() OVER(PARTITION BY day ORDER BY total_bill DESC) AS rn WHERE rn < 3 ORDER BY day, rn;
df2 = df.assign(rn=df.sort_values(['
print('Kiválasztási lista2 : ', df2)
## --------------- sűrések
kl_segito = '''
/sql: UNION ALL
pd.concat([df1, df2])
/sql: UNION
pd.concat([df1, df2]).drop_duplicates()
'''
## %pwd
## %bookmark
st = ['foo', 'foobar', 'baz', 'qux','python', 'Guido Van Rossum'] * 10000
# print('st0 : ',st)
kl_segito='''
## Minta keresés tartalmazás
%time st1 = [x for x in st if x.startswith('foo')]
%time st2 = [x for x in st if x[:3] == 'foo']
%timeit [x for x in st if x.startswith('foo')]
%timeit [x for x in st if x[:3] == 'foo']
#print('st1 : ',st1)
#print('st2 : ',st2)
#----
import some_lib
reload(some_lib) ## megváltozott modul újra olvasása, friseb verzió betöltés kierőszakolása
'''
class Message:
def __init__(self, msg):
self.msg = msg
def __repr__(self):
return 'Visszamondom neked : %s' % self.msg
x = Message('Mond vissza, kérlek.')
print(x)
## ----- numpy
data = ([[ 0.9526, -0.246 , -0.8856],
[ 0.5639, 0.2379, 0.9104]])
data2= np.array(data)
print(data2.shape)
kl=np.empty((2, 3, 2))
print(kl)
kl = np.array([[1., 2., 3.], [4., 5., 6.]])
kl = kl*kl
print(kl)
Megjegyzések
Megjegyzés küldése