pandas-tspandas-ts
npm

If you know Python pandas, you already know most of pandas-ts. This page shows how common patterns translate.

Import#

Python (NumPy)
# Python
import pandas as pd
TypeScript
// TypeScript
import pd from 'pandas-ts';
// or:
import { Series, DataFrame, read_csv } from 'pandas-ts';

Arithmetic operators#

Python has operator overloading; JavaScript does not. Use named methods:

Python pandaspandas-ts
s + 1s.add(1)
s - 1s.sub(1)
s * 2s.mul(2)
s / 2s.div(2)
s ** 2s.pow(2)
s1 + s2s1.add(s2)
df['a'] + df['b']df.col('a').add(df.col('b'))

Construction#

Python (NumPy)
s = pd.Series([1, 2, 3])
df = pd.DataFrame({'a': [1,2,3], 'b': [4,5,6]})
TypeScript
const s = new Series([1, 2, 3]);
const df = new DataFrame({ a: [1,2,3], b: [4,5,6] });

Column access#

Python (NumPy)
df['sales']
df.sales
df[['a','b']]
TypeScript
df.col('sales')            // returns a Series
df.loc_cols(['a', 'b'])    // DataFrame with two columns

Boolean indexing#

Python (NumPy)
df[df['sales'] > 100]
TypeScript
df.loc(df.col('sales').gt(100))

eval#

Python (NumPy)
df.eval('a + b')
pd.eval('2 + 3')
TypeScript
df.evalExpr('a + b')    // eval is a reserved word in JS
import { pdEval } from 'pandas-ts';
pdEval('2 + 3')         // => 5

GroupBy#

Python (NumPy)
df.groupby('city').agg({'sales': ['sum', 'mean']})
TypeScript
df.groupby('city').agg({ sales: ['sum', 'mean'] })

Apply#

Python (NumPy)
s.apply(lambda x: x**2)
TypeScript
s.apply(x => x**2)

IO#

Python (NumPy)
pd.read_csv('data.csv')
df.to_csv('out.csv')
TypeScript
import { read_csv } from 'pandas-ts';
read_csv('data.csv')
df.to_csv('out.csv')

Keyword arguments#

Python uses keyword arguments directly; TypeScript uses an options object:

Python (NumPy)
np.sum(a, axis=0, keepdims=True)
df.sort_values('sales', ascending=False)
TypeScript
df.sort_values('sales', { ascending: false })