Published
Edited
Feb 20, 2019
1 fork
9 stars
Insert cell
Insert cell
Insert cell
summarize = df.dataflow([
df.aggregate().groupby(['symbol']).measure([df.mean('price').as('mean'), df.stdev('price').as('stdev')]),
df.formula('ratio', df.expr(d => d.stdev / d.mean).fields(['mean', 'stdev'])),
df.sort('-ratio')
])
Insert cell
summarize.insert(data).values().map(d => d.symbol + ': ' + d.ratio.toFixed(3)).join(', ')
Insert cell
Insert cell
letterCount = df.dataflow([
df.aggregate().groupby(['symbol']),
df.countpattern().field('symbol').pattern(/[A-Z]/).case('upper'),
df.sort(['-count', 'text'])
])
Insert cell
letterCount.insert(data).values().map(d => d.text + ':' + d.count).join(', ')
Insert cell
Insert cell
zscore = df.dataflow([
df.joinaggregate().groupby(['symbol']).measure([df.mean('price').as('mean'), df.stdev('price').as('stdev')]),
df.formula('zscore', df.expr(d => (d.price - d.mean) / d.stdev).fields(['price', 'mean', 'stdev'])),
df.project(['symbol', 'date', 'zscore'])
])
Insert cell
zscore.insert(data).values()
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more