Skip to content

Instantly share code, notes, and snippets.

@deparkes
deparkes / pandas-physics.py
Last active August 29, 2015 14:18
Pandas for physics - a few key steps
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import math
# Some functions to later apply to our columns
def dcos(theta):
theta = theta*(math.pi/180)
return math.cos(theta)
@deparkes
deparkes / change_list.py
Created April 28, 2015 16:54
5000 Small Businesses Data
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 28 11:58:10 2015
@author: Duncan Parkes
"""
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#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(value_list)]
@deparkes
deparkes / colch_toilets.py
Created April 18, 2016 17:25
Code to generate an interactive map of Colchester public toilets
import os
import folium
import pandas as pd
from bng_to_latlon import OSGB36toWGS84
os.chdir("C:\Users\Duncan\Documents\Python Scripts\pythonGIS")
# Load map centred on Colchester
uk = folium.Map(location=[51.8860942,0.8336077], zoom_start=10)
# Load locally stored colchester public toilets data
toilets = pd.read_csv("public-toilets.csv")
import gpxpy
import gpxpy.gpx
import folium
gpx_file = open('my_gpx_coords.gpx', 'r')
gpx = gpxpy.parse(gpx_file)
points = []
for track in gpx.tracks:
for segment in track.segments:
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 20 11:41:59 2015
Find out from which years you cited most publications in your thesis or
dissertation.
https://xkcd.com/208/
May need to somehow account for 'missing' years
http://pandas.pydata.org/pandas-docs/stable/missing_data.html
@deparkes
deparkes / pizza-price-comparison.py
Last active December 6, 2016 20:20
Pandas plotting of pizza price comparison
# -*- coding: utf-8 -*-
import pandas as pd
import matplotlib.pyplot as plt
import itertools
# Load data
prices = pd.read_csv("PizzaPrices.csv")
# Filter out an unwanted establishment
prices = prices[(prices['establishment_name'] != "Pizza Zone")]
@deparkes
deparkes / folium_lines_and_markers.py
Last active February 27, 2019 20:46
Example of combining lines and markers
import folium
points_a = [[1,50], [1.2,50.3], [1.23, 50.7]]
points_z = [[1,51], [1.2,51.3], [1.23, 51.7]]
# Load map centred on average coordinates
ave_lat = sum(p[0] for p in points_a)/len(points_a)
ave_lon = sum(p[1] for p in points_a)/len(points_a)
my_map = folium.Map(location=[ave_lat, ave_lon], zoom_start=9)
@deparkes
deparkes / radial_field_example.mif
Created April 22, 2017 09:32
Example of defining a field with polar coordinates in OOMMF mif file
# MIF 2.1
# MIF Example File: ellipsoid.mif
# Description: Hysteresis loop of an ellipsoidal particle.
# This example uses an Oxs_EllipsoidAtlas to define the
# ellipsoid volume. This example is exactly equivalent
# to ellipsoid-atlasproc.mif and ellipsoid-fieldproc.mif.
set pi [expr {4*atan(1.0)}]
set mu0 [expr {4*$pi*1e-7}]
set theta 270
@deparkes
deparkes / latex_publications.tex
Created May 30, 2016 13:57
A sample file for creating a publications list in a thesis or dissertation, separate fromt the references list.
\documentclass{article}
\usepackage{natbib}
\usepackage{bibunits}
\begin{document}
% bibunit to list our publications
\begin{bibunit}[plain]
\renewcommand{\bibsection}{\large \textbf{\begin{center}
Publications
\end{center}}}