Skip to content

Instantly share code, notes, and snippets.

View LeeMendelowitz's full-sized avatar

Lee Mendelowitz LeeMendelowitz

View GitHub Profile
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@LeeMendelowitz
LeeMendelowitz / any_all.ipynb
Last active August 29, 2015 13:55
ipython notebook demonstrating Python generators and the any/all functions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@LeeMendelowitz
LeeMendelowitz / README.md
Last active December 6, 2018 23:02
D3 Dynamic Table with Nested Data

This script is another demonstration of the update, enter, and exit selections in D3. The script also makes use of key functions to bind data to each row, and transitions to animate opacity and delay the removal of rows. This script demonstrates nested data, where an array of values is bounded to each row (<tr>), and then a single value is bound to each cell (<td>) element in the row.

Each row of the table has a unique letter key, which is displayed as the first cell. The remainder of the row is an array of random digits. At each iteration:

  1. A new set of letter keys is randomly selected from the alphabet.
  2. For each letter in the set, a new row with random data will be inserted in the table if the letter is not already in the table.
  3. Any row in the table with a key which is not in the new set is removed.
  4. The number of columns in the table is randomly adjusted. If the new number of columns is larger than the current table, random data is appended to each row. Otherwise, cel
@LeeMendelowitz
LeeMendelowitz / index.html
Created April 29, 2014 12:51
D3 Merging Enter Selection with Update Selection
<!DOCTYPE html>
<html>
<head>
<title>Playing with Enter and Update</title>
<script src="http://d3js.org/d3.v3.min.js"></script>
<style>
p {
color: black;
}
@LeeMendelowitz
LeeMendelowitz / wrap_file_function.py
Last active August 29, 2015 14:00
Wrapping a file function
class wrap_file_function(object):
"""
Wrap a function which takes a file or a str as it's first argument.
If a str is provided, replace the first argument of the wrapped function
with a file handle, and close the file afterwards
Example:
@wrap_file_function('w')
def write_hi(f):
@LeeMendelowitz
LeeMendelowitz / gist:f6da6480eb87cb55c1ad
Last active August 29, 2015 14:02
Predict.lm not working for matrix data
# Make a dataset where Y is cubic in X, plus noise:
n <- 1000
x <- runif(n)
x <- sort(x)
eps <- rnorm(n)
beta <- c(1, 2, 3)
X <- poly(x, 3, raw = TRUE)
y <- X %*% beta + eps
# Fit the data
@LeeMendelowitz
LeeMendelowitz / error.R
Created July 23, 2014 22:41
Gist demonstrating an R error
# The question: why does make.plot.1 cause an error?
# make.plot.2 and make.plot.3 work ok.
#
# I'm trying to use ggplot to make a scatter plot with
# with size mapped to the "s" variable in the dataframe.
# When I try to draw circles on top of the scatter plot using geom_path, I get
# errors.
# The plot works if I choose to not map size or not to draw the circles.
@LeeMendelowitz
LeeMendelowitz / rename_files.py
Created October 31, 2014 18:44
Rename files in a directory by removing non-alphanumeric characters that shouldn't be in a filename.
"""
Recurseively rename all files in a directory by replace whitespace with underscores
and erasing all non-('a-zA-Z0-9' or '_' or '-' or '.') characters.
"""
import re, os, shutil, argparse, sys
parser = argparse.ArgumentParser(description = "Rename all files in directory by replacing whitespace with underscores.")
parser.add_argument('directories', metavar="DIR", nargs='*', default = [os.getcwd()], help="directories to walk. Default: CWD")
err = sys.stderr.write
@LeeMendelowitz
LeeMendelowitz / DC_Metrorail_Ridership.mac.csv
Last active May 1, 2021 18:12
Replace "^M" carriage return control character with newline
We can make this file beautiful and searchable if this error is corrected: It looks like row 71 should actually have 2 columns, instead of 1 in line 70.
Date,Total 1/1/04,129000 1/2/04,419000 1/3/04,222000 1/4/04,140000 1/5/04,564000 1/6/04,609000 1/7/04,609000 1/8/04,611000 1/9/04,624000 1/10/04,201000 1/11/04,135000 1/12/04,618000 1/13/04,660000 1/14/04,661000 1/15/04,628000 1/16/04,594000 1/17/04,236000 1/18/04,148000 1/19/04,220000 1/20/04,617000 1/21/04,647000 1/22/04,687000 1/23/04,640000 1/24/04,221000 1/25/04,136000 1/26/04,436000 1/27/04,517000 1/28/04,614000 1/29/04,655000 1/30/04,633000 1/31/04,215000 2/1/04,134000 2/2/04,615000 2/3/04,598000 2/4/04,659000 2/5/04,652000 2/6/04,603000 2/7/04,238000 2/8/04,141000 2/9/04,621000 2/10/04,650000 2/11/04,660000 2/12/04,651000 2/13/04,644000 2/14/04,273000 2/15/04,168000 2/16/04,241000 2/17/04,634000 2/18/04,648000 2/19/04,665000 2/20/04,664000 2/21/04,258000 2/22/04,145000 2/23/04,622000 2/24/04,646000 2/25/04,657000 2/26/04,653000 2/27/04,638000 2/28/04,251000 2/29/04,151000 3/1/04,619000 3/2/04,647000 3/3/04,660000 3/4/04,663000 3/5/04,660000 3/6/04,253000 3/7/04,172000 3/8/04,630000 3/9/04,661000 3/10/
@LeeMendelowitz
LeeMendelowitz / README.md
Last active August 29, 2015 14:15
DC Metro Metrics Data Download