Skip to content

Instantly share code, notes, and snippets.

@rpmuller
rpmuller / parse_orgtable.py
Created November 19, 2015 20:22
Parse an orgmode table into a Pandas dataframe
def parse_orgtable(s):
"""Parse an org-table (input as a multiline string) into a Pandas data frame."""
# This didn't quite work, because spaces messed things up
#import cStringIO
#table = pd.read_table(cStringIO.StringIO(s),sep='|',skiprows=[1],skipinitialspace=True)
#table = table.drop(table.columns[[0,-1]],1)
# I suppose I could have simply run strip() on all of the resulting column names, since that was the problem
def parseline(l):
w = l.split('|')[1:-1]
return [wi.strip() for wi in w]
@rpmuller
rpmuller / Testing.md
Last active December 19, 2015 17:08
Testing Gist Pages

Playing around to see what one can do using Gist pages for writing.

@rpmuller
rpmuller / ftree.py
Created July 12, 2013 20:36
Mandelbrot and frame's binary fractal trees
#!/usr/bin/env python
"""\
Mandelbrot and Frame's (Binary) Fractal Trees.
See http://www.math.union.edu/research/fractaltrees/
"""
import os
from math import sin,cos,pi
def ftree(iter,origin,t,r,theta,dtheta):
@rpmuller
rpmuller / InteractiveShell.py
Created July 12, 2013 20:35
Create an interactive shell in a GUI
class FileCacher:
"Cache the stdout text so we can analyze it before returning it"
def __init__(self): self.reset()
def reset(self): self.out = []
def write(self,line): self.out.append(line)
def flush(self):
output = '\n'.join(self.out)
self.reset()
return output
@rpmuller
rpmuller / CellularAutomata.py
Created July 12, 2013 20:23
Wolfram-style cellular automata using PIL
#!/usr/bin/env python
"""
CellularAutomata.py: Wolfram-style cellular automata in Python
Options:
-h # Use a screen of height # for the simulation
-w # Use a screen of width # for the simulation
-r Use a random initial row (rather than the standard single 1 in the middle)
-R # Use rule # for the simulation
@rpmuller
rpmuller / make_contact_sheet.py
Created July 12, 2013 20:22
Create a simple contact sheet from a list of image filenames.
def make_contact_sheet(fnames,(ncols,nrows),(photow,photoh),
(marl,mart,marr,marb),
padding):
"""\
Make a contact sheet from a group of filenames:
fnames A list of names of the image files
ncols Number of columns in the contact sheet
nrows Number of rows in the contact sheet
def parseline(line,format):
"""\
Given a line (a string actually) and a short string telling
how to format it, return a list of python objects that result.
The format string maps words (as split by line.split()) into
python code:
x -> Nothing; skip this word
s -> Return this word as a string
i -> Return this word as an int
@rpmuller
rpmuller / Polynomial.py
Last active August 24, 2018 11:30
Simple polynomial module.
#!/usr/bin/env python
"""\
Polynomial.py - A set of utilities to manipulate polynomials. This consists
of a set of simple functions to convert polynomials to a Python list, and
manipulate the resulting lists for multiplication, addition, and
power functions. There is also a class that wraps these functions
to make their use a little more natural.
This can also evaluate the polynomials at a value, and take integrals
and derivatives of the polynomials.
@rpmuller
rpmuller / Crash Course v0.5.ipynb.json
Last active November 24, 2022 09:14
Crash Course in Python for Scientists
This file has been truncated, but you can view the full file.
{
"metadata": {
"name": "",
"signature": "sha256:a04c38d9604adb7eb9ca89860dfa1ef72db66037cc2c07c391ef8e67a31f9254"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
@rpmuller
rpmuller / Sympy Circuit Plot.ipynb.json
Last active April 24, 2022 18:09
Quantum Circuit Plotting with SymPy
{
"metadata": {
"name": "Sympy Circuit Plot"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{