技术编程,AI人工智能|深受 Pandas 启发的 JavaScript 开源库 — Danfo.js 现已推出!( 二 )


"Count": [NaN, 5, NaN, 10],
"Price": [200, 300, 40, 250]}
letdf = new dfd.DataFrame(data)
letdf_filled = df.fillna({columns: [ "Name", "Count"], values: [ "Apples",
df[ "Count"].mean]})
df_filled.print
输出:
技术编程,AI人工智能|深受 Pandas 启发的 JavaScript 开源库 — Danfo.js 现已推出!
文章图片

文章图片

基于智能标签的切片、花式索引和大数据集查询:
const dfd = require( "danfojs-node")
letdata = http://www.sos110.com/show/12/138451/{"Name": [ "Apples", "Mango", "Banana", "Pear"] ,
"Count": [21, 5, 30, 10],
"Price": [200, 300, 40, 250] }
letdf = new dfd.DataFrame(data)
letsub_df = df.loc({ rows: [ "0:2"], columns: [ "Name", "Price"] })
sub_df.print
输出:
技术编程,AI人工智能|深受 Pandas 启发的 JavaScript 开源库 — Danfo.js 现已推出!
文章图片

文章图片

强大的 IO 工具 , 用于从平面文件(CSV 和分隔)加载数据 。完整和分块均可:
const dfd = require( "danfojs-node")
. then(df => {
df.tail. print
}).catch(err=>{
console.log(err);
})
DataFrame 和 Series 支持 OneHotEncoders、LabelEncoders 等强大的数据预处理函数和 StandardScaler 和 MinMaxScaler 等 Scaler:
const dfd = require( "danfojs-node")
letdata = http://www.sos110.com/show/12/138451/["dog", "cat", "man", "dog", "cat", "man", "man", "cat"]
letseries = new dfd.Series(data)
letencode = new dfd.LabelEncoder
encode.fit(series)
letsf_enc = encode.transform(series)
letnew_sf = encode.transform([ "dog", "man"])
输出:
技术编程,AI人工智能|深受 Pandas 启发的 JavaScript 开源库 — Danfo.js 现已推出!
文章图片

文章图片

交互式、灵活且直观的 API , 用于在浏览器中绘制 DataFrame 和 Series:
Document
{
var layout = {
title: 'A financial charts',
xaxis: {title: 'Date'},
yaxis: {title: 'Count'}
}
new_df = df.set_index({ key: "Date"})
new_df.plot( "plot_div").line({ columns: [ "AAPL.Open", "AAPL.High"], layout: layout
})
}).catch(err => {
console.log(err);
})

输出:
技术编程,AI人工智能|深受 Pandas 启发的 JavaScript 开源库 — Danfo.js 现已推出!
文章图片

文章图片

示例:泰坦尼克号幸存预测
以下是使用 Danfo.js 和 TensorFlow.js 的简单端到端分类任务 。使用 Danfo 进行数据集的数据加载、操作和预处理 , 然后导出张量对象 。
const dfd = require( "danfojs-node")
const tf = require( "@tensorflow/tfjs-node")
async functionload_process_data{
lettitle = df[ 'Name'].apply((x) => { returnx.split( ".")[0] }).values
df.addColumn({ column: "Name", value: title })
letencoder = new dfd.LabelEncoder
letcols = [ "Sex", "Name"]
cols.forEach(col => {
encoder.fit(df[col])
enc_val = encoder.transform(df[col])
df.addColumn({ column: col, value: enc_val })
})
letXtrain,ytrain;


推荐阅读