Skip to content

Instantly share code, notes, and snippets.

View vaclavcadek's full-sized avatar

Václav Čadek vaclavcadek

  • Stealth
  • Prague, Czech Republic
View GitHub Profile
# List unique values in a DataFrame column
pd.unique(df.column_name.ravel())
# Convert Series datatype to numeric, getting rid of any non-numeric values
df['col'] = df['col'].astype(str).convert_objects(convert_numeric=True)
# Grab DataFrame rows where column has certain values
valuelist = ['value1', 'value2', 'value3']
df = df[df.column.isin(valuelist)]
@vaclavcadek
vaclavcadek / emulate_stdin.py
Created April 13, 2017 12:31
How to emulate input over stdin
import sys
import io
sys.stdin = io.StringIO("""
3 3
0 1 1 1
1 2 2 4
2 0 1 2
""".strip())
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import time
def pltsin(ax, colors=['b']):
x = np.linspace(0,1,100)
if ax.lines:
for line in ax.lines:
@vaclavcadek
vaclavcadek / periodic_task.py
Created May 23, 2017 14:16
Periodic write to file every second.
import sched, time
from datetime import datetime
s = sched.scheduler(time.time, time.sleep)
def read_signal(sc):
with open('/home/vasek/Downloads/test.csv', 'a') as log:
log.write('{timestamp},{temperature}\n'.format(timestamp=datetime.now(), temperature=23.0))
# do your stuff
s.enter(1, 1, read_signal, (sc,))
import numpy as np
import multiprocessing
def do_calculation(i, **kwargs):
np.random.seed()
rand=np.random.randint(10)
print(i, kwargs['foo'], kwargs['bar'], rand)
if __name__ == '__main__':
jobs = []
class Node:
def __init__(self, data):
self.data = data
self.next = None
def __next__(self):
return self.next
class LinkedList:
@vaclavcadek
vaclavcadek / async.py
Last active June 18, 2017 11:20
Asyncio vs. sync approach
from concurrent import futures
import time
def long_running_task(result):
print('Task is running!')
time.sleep(1)
return result
start = time.perf_counter()
@vaclavcadek
vaclavcadek / generate_gif.py
Created June 30, 2017 13:06
How to generate animation using numpy arrays.
from matplotlib.animation import FuncAnimation
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(5, 8))
def update(i):
im_normed = np.random.random((64, 64))
ax.imshow(im_normed)
@vaclavcadek
vaclavcadek / decorators.py
Created August 10, 2017 13:31
Example decorators in Python.
def logger(func):
def wrapped(*args, **kwargs):
print('Calling {} with args = {} and kwargs = {}'.format(func, args, kwargs))
return func(*args, **kwargs)
return wrapped
@logger
def factorial(n):
if n == 1:
return 1
@vaclavcadek
vaclavcadek / shuffle_array
Created September 9, 2017 12:41
Elegant way to shuffle numpy array - e.g. before training
permutation = list(np.random.permutation(m))
shuffled_X = X[:, permutation]
shuffled_Y = Y[:, permutation].reshape((1,m))