node-pandas-js
Version:
An npm package that incorporates minimal features of python pandas.
143 lines (122 loc) • 4.29 kB
JavaScript
let pd = require('../src/index')
// -- Series --
let s = pd.Series([1, 9, 2, 6, 7])
console.log(s)
console.log(s[0])
s.show
let dataList = [
['Guido Van Rossum', 6, 'Python'],
['Ryan Dahl', 5, 'Node.js'],
['Anders Hezlsberg', 7, 'TypeScript'],
['Wes McKinney', 3, 'Pandas'],
['Ken Thompson', 1, 'B language']
]
columns = ['full_name', 'user_id', 'technology']
let df = pd.DataFrame(dataList, columns);
df.show
console.log(df)
console.log(df.columns)
console.log(df.index)
// -- DataFrame --
dataList = [
['Kirit Chanap', 8, 'Student, College'],
['Hemkesh Agrawani', 6, 'Student, College'],
['Diksha Bhandari', 9, 'Student, Secondary School'],
['Vrishti Bhandari', 5, 'Student, Secondary School'],
['Manjoosha Chanap', 7, 'Student, College'],
['Malinikesh Agrawani', 3, 'Student, College'],
['Bhagyashree Chanap', 4, 'Teacher, 1st grade'],
['Rishikesh Agrawani', 1, 'Software Engineer, Python'],
['Ankita Agrawani', 2, 'Student, College']
]
let df2 = pd.DataFrame(dataList)
console.log(df2)
df2.show
console.log(df2.columns)
console.log(df2.index)
let path = "/Users/hygull/Projects/NodeJS/node-pandas/docs/csvs/devs.csv"
/*
➜ node-pandas git:(toCsv) ✗ cat ~/Desktop/try/node-pandas.csv
fullName,Profession,Language,DevId
Ken Thompson,C developer,C,1122
Ron Wilson,Ruby developer,Ruby,4433
Jeff Thomas,Java developer,Java,8899
Rishikesh Agrawani,Python developer,Python,6677
Kylie Dwine,C++,C++ Developer,11
Briella Brown,JavaScirpt developer,JavaScript,8844
*/
df3 = pd.readCsv(path)
console.log(df3)
df3.show
/*
┌─────────┬──────────────────────┬────────────────────────┬─────────────────┬───────┐
│ (index) │ fullName │ Profession │ Language │ DevId │
├─────────┼──────────────────────┼────────────────────────┼─────────────────┼───────┤
│ 0 │ 'Ken Thompson' │ 'C developer' │ 'C' │ 1122 │
│ 1 │ 'Ron Wilson' │ 'Ruby developer' │ 'Ruby' │ 4433 │
│ 2 │ 'Jeff Thomas' │ 'Java developer' │ 'Java' │ 8899 │
│ 3 │ 'Rishikesh Agrawani' │ 'Python developer' │ 'Python' │ 6677 │
│ 4 │ 'Kylie Dwine' │ 'C++' │ 'C++ Developer' │ 11 │
│ 5 │ 'Briella Brown' │ 'JavaScirpt developer' │ 'JavaScript' │ 8844 │
└─────────┴──────────────────────┴────────────────────────┴─────────────────┴───────┘
*/
console.log(df3[0]['fullName'])
// Save to CSV file
df3.toCsv('/Users/hygull/Desktop/try/node-pandas.csv')
console.log(df3['fullName'])
/*
NodeSeries [
'Ken Thompson',
'Ron Wilson',
'Jeff Thomas',
'Rishikesh Agrawani',
'Kylie Dwine',
'Briella Brown'
]
*/
console.log(df3.DevId)
/*
NodeSeries [ 1122, 4433, 8899, 6677, 11, 8844 ]
*/
let languages = df3.Language
console.log(languages)
/*
NodeSeries [
'C',
'Ruby',
'Java',
'Python',
'C++ Developer',
'JavaScript'
]
*/
console.log(languages[0], '&', languages[1]) // C & Ruby
let professions = df3.Profession
console.log(professions)
/*
NodeSeries [
'C developer',
'Ruby developer',
'Java developer',
'Python developer',
'C++',
'JavaScirpt developer'
]
*/
// Iterate like arrays
for(let profession of professions) {
console.log(profession)
}
/*
C developer
Ruby developer
Java developer
Python developer
C++
JavaScirpt developer
*/
// Update entry
professions[1] = 'Elon Musk'
console.log(professions)
// dateRange() => dateRange(n=1, format="yyyy-mm-dd", sep='-')---
console.log(pd.dateRange(50, "dd-mm-yyyy", '-', true))