Skip to content

Instantly share code, notes, and snippets.

View caffeine-potent's full-sized avatar

Otto Wagner caffeine-potent

View GitHub Profile
@caffeine-potent
caffeine-potent / quicksort.j
Created March 7, 2018 00:52
Quicksort from BabySnake#6314
quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)
List =: ?. 10 $100
echo quicksort List
###############
spent = 171.376666667
tax_rate = .10
###############
cost = spent / (1 + tax_rate)
taxed = spent - cost
def calculate_taxed_ammount( spent:float, tax_rate:float):
cost = spent / (1 + tax_rate)
taxed = spent - cost
print("Spent: {}\nCost: {}\nTaxed: {}".format(spent, cost, taxed))
calculate_taxed_ammount( spent = 171.376666667, tax_rate = .10)
import numpy as np
def create_n_depth_matrix(n: int) -> np.array:
"""Function used to generate all binary permutations of length n.
Binary permutations of n=3 for example would include:
[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]
Binary permuataions are arranged in a 3d matrix of shape (n, a, b)
such that a*b == (2^n)
@caffeine-potent
caffeine-potent / flatten_tuples_and_lists.py
Created August 21, 2018 19:15
Flatten Lists and Tuples
from functools import reduce
flatten = lambda lst: reduce(lambda l, i: l + flatten(i) if isinstance(i, (list, tuple)) else l + [i], lst, [])
test = [[[[1,0],1],0],1]
print(flatten(test))
## Credit https://stackoverflow.com/questions/952914/making-a-flat-list-out-of-list-of-lists-in-python
@caffeine-potent
caffeine-potent / export_dc_xarray_to_netcdf.py
Created April 1, 2019 18:54
Exporting an xarray with datacube attributes
import datacube
import xarray as xr
def export_xarray_to_netcdf(ds:xr.Dataset, path:str):
"""
Exports an xarray.Dataset as a single NetCDF file.
Parameters
----------
ds: xarray.Dataset
The Dataset to export.