Title : Welcome
Author : You
Logo : True
[TITLE]
python core
# groupby(iterable[, keyfunc]) -> create an iterator which returns
# (key, sub-iterator) grouped by each value of key(value).
from itertools import goupby
[k for k, g in groupby('AAAABBBCCDAABBB')]
>>> ['A', 'B', 'C', 'D', 'A', 'B']
[list(g) for k, g in groupby('AAAABBBCCD')]
>>> [['A', 'A', 'A', 'A'], ['B', 'B', 'B'], ['C', 'C'], ['D']]
numpy
x = np.arange(9.).reshape(3, 3)
np.where(x>5)
np.where(x < 5, x, -1) # Note: broadcasting.
array([[ 0., 1., 2.],
[ 3., 4., -1.],
[-1., -1., -1.]])
x[x>5] # simple boolean indexing suffices if you select a subarray
pandas
path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
records = [json.loads(line) for line in open(path)]
from pandas import DataFrame, Series
frame = DataFrame(records)
tz_counts = frame['tz'].value_counts() # Series.value_counts
clean_tz = frame['tz'].fillna('Missing') # Series.fillna
clean_tz[clean_tz == ''] = 'Unknown'
tz_counts = clean_tz.value_counts()
%matplotlib inline
tz_counts[:10].plot(kind='barh', rot=0) # Series.plot
results = Series([x.split()[0] for x in frame.a.dropna()]) # Series.dropna
cframe = frame[frame.a.notnull()] # Series.notnull
operating_system = np.where(cframe['a'].str.contains('Windows'),'Windows', 'Not Windows') # np.where
matplotlib
%matplotlib inline
in ipython
Madoko
Madoko is a fast markdown processor for writing professional articles
with a focus on simplicity and plain text readability.
- Read the reference manual.
- Explore the upper-right toolbox menu to discover how Markdown works.
Alt-Q
reformats the current paragraph.
Enjoy!