Hogyan jelezhetjük a felületen hogy elkészült a program futása?
## Java scrip felugró ablak:
%%javascript
alert("Kész vagyok!")
Hogyan küldjünk magunknak üzenetet ha elkészült a program futása?
mport smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart('alternative')
msg['Subject'] = "Elkészül a futás, nézd meg az eredményt!"
msg['From'] = "no.reply.admin@mierdekel.hu"
msg['To'] = "admin@mierdekel.hu"
# Message body
html = "<html><b>DONE</b></html>"
# beágyazott üzenet
part2 = MIMEText(html, 'html')
msg.attach(part2)
# Send the message via local SMTP server.
s = smtplib.SMTP('amail.servers.mierdekel.hu')
# sendmail function takes 3 arguments: sender's address, recipient's address and message to send - here it is sent as one string
s.sendmail("no.reply.admin@mierdekel.hu", "user2@mierdekel.hu", msg.as_string())
s.quit()
Hogyan lehet felhasználni a külső parancsok eredményét?
Az eredmény változóba irányítható. A változó típusa automatikusan String
Lists (IPython.utils.text.SList) lesz.
result = !hadoop fs -ls /data/sada/dcda/s3/domani_kbc.avro
Hogyan íratható automatikusan ki a végrehajtási idő minden program végrehajtás után?
%load_ext autotime
### Installálás ha szükséges:
%install_ext /data/site/jupyter_extensions/autotime.py %load_ext autotime
Az egyes függvények leírását hogyan lehet gyorsan elérni?
A parancs végére tegyünk kérdőjelet a CODE cellában és futtassuk le shift+enter gyos
billentyűkombinációval.
Hogyan és mire használjunk mágikus parancsokat?
# Egysoros hatókör : %
# Egész céllára vonatkozó hatókör : %%
%%prun : profile your cell code (number of calls & timing
info)
%%timeit : execution time of the cell
%debug : enter this in a cell after you had an error, it allow you to debug
(messages, variable content at error, ...)
%load : load a .py script or other file into the cell
%macro : create macro's
további infó : (http://ipython.readthedocs.io/en/stable/interactive/magics.html) ...
Hogyan változtathatjuk meg a jupyter lapok stilusát?
A felhasználói stíluslap
helye:
- c:\Users\User\.jupyter\custom\custom.css
- c:\Users\User\.jupyter\profile\static\custom\custom.css
- c:\Users\User\Anaconda3\Lib\site-packages\notebook\static\custom\custom.css
Több kimenet megjelenítése egyszerre hogyan történhet?
Helyezze a következőket a
notebook első soraiba (nem szükséges külön print parancs működéshez):
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity
= "all"
Hogyan növelhető meg a kimeneti terület szélessége 100%-osra?
from IPython.core.display import display,
HTML
display(HTML("<style>.container
{ width:100% !important; }</style>"))
Hogyan lehet összecsukni a code (program) cellát?
from IPython.display import HTML
HTML('''<script>
code_show=true;
function code_toggle() {
if (code_show){
$('div.input').hide();
} else {
$('div.input').show();
}
code_show = !code_show
}
$( document ).ready(code_toggle);
</script>
Ha eltüntetni akarod, akkor : <a href="javascript:code_toggle()">Erre klikkelj</a>.''')
az összes kimeneti cella elrejtéséhez futtassa ezt a kódot egy cellában
from IPython.display import HTML
HTML('''<script> $('div.output_wrapper').hide();
</script>''')
az összes kimeneti cella megjelenítéséhez futtassa ezt a kódot egy cellában
from IPython.display import HTML
HTML('''<script> $('div.output_wrapper').show();
</script>''')
Hogyan lehet csak a nagy kimeneti cellákat törölni (hogy megakadályozzuk a böngésző lelassulását)?
%%html <button onclick="$('div.output_subarea.output_text.output_stream.output_stdout').each(function(
index, element ) {
if( element.innerHTML ) {
if (element.innerHTML.length >
1000) {
element.innerHTML='Output
Cleared';
}
}
});">Clear output larger than 1000
characters</button>
Hogyan kell a felesleges logolást letiltani?
import logging
logger =logging.getLogger('kl_lib')
logger.setLevel(logging.CRITICAL)
Hagyan kell python modulokat elérhetővé tenni?
Extra könyvtárrakat be kell jegyezni a környezeti utvonal
változóba,
import sys
sys.path.append("/data/site/python[2|3]libs/lib/python")
Hogyan tudunk tömörített fileket olvasni, írni?
Írás
# pandas
dataframe : pdf
pdf.to_csv('mypath/myfile.csv.tar.gz',
compression='gzip')
Olvasás
pdf = pd.read_csv('mypath/myfile.csv.tar.gz',
compression='gzip')
Dátum különbségek napjainak számolása hogyan gyorsítható?
Alap :
(date1-date2).dt.days
Gyors:
(date1-date2).dt.values.astype('timedelta64[D]')
Hogyan lehet konvertálni egy sorozat int-től dátumra?
Ha az oszlop (sorozat) a következő formátumú: 20200916, és azt
szeretné, hogy date_time (2020-09-16) legyen
df['SERIES_NAME'] = pd.to_datetime(df['SERIES_NAME'], format =
'%Y%m%d')
Dátum idő csoportosításokat hoyga érdemes elvégezni?
times = pd.DatetimeIndex(df.SERIES_NAME)
grouped = df.groupby([times.month, times.year)
# Note you can then add additional df columns to the groupby
grouped.count()
Hogyan lehet hatékonyan ledobni bizonyos karaktereket egy karakterláncból (pl. A karakterlánc tisztításához)?
text = 'This is a test, dropping 123 numbers and other special
characters like #} from a string.'
text_cleaned = text.translate({ord(i):None for i in '
,.;:-[](){}"\'!@#$:0123456789?!'})
print(text_cleaned)
Hogyan teszteljek?
Használjuk az assert lehetőséget az elvár eredménnyel
összehasonlításra.
assert resolveUser('123456')=='123456'
assert resolveUser('')==''
assert resolveUser('A')=='A'
assert resolveUser('None')==''
Tensorflow tesztelő:
http://playground.tensorflow.org/
Felesleges csomagok törlése:
conda clean --packages
Decorator frissítése
conda install -c conda-forge decorator
R nyelvi motor installálása
conda install -c r r-essentials
Jupyterlab installálása
conda install -c conda-forge jupyterlab
Shell parancs futtatása
!dir
Jupyter kiterjesztés installációja:
conda install -c conda-forge jupyter_nbextensions_configurator
(Hinterland, Table of Contents, Execute Time, Variable Selector, ...)
Megjegyzések
Megjegyzés küldése