Danfoへの誘惑データの操作と処理
19994 ワード
ダンフォ.js
オープンソースのJavaScriptライブラリを提供するための高性能、直感的で使いやすいデータ構造
構造化データの操作と処理それは、主にパイソンのPandasに触発されます
ライブラリと同様のインターフェイスとAPIを提供します.また、ダンフォ.JSは高速であり、それは上に構築されて
Tensorflow.jsとボックスからテンソルをサポートします.
データサイエンスは、オープンソースライブラリの生態系のためにPythonで栄えます.
JavaScriptコミュニティによって開発された同様のツールを見るのは素晴らしいです.これは大きな何かの始まりかもしれない.
それで、我々にdanfoを見させてください.インアクション.
インストール
Danfoを取得する2つの方法があります.jsNPM経由でインストールするには、次の手順を実行します.
npm install danfojs-node
また、以下のCDNを使ってブラウザでインストールして利用することもできます.
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>
値のリストを渡すことによって一連のオブジェクトを作成し、Danfoをさせる。デフォルトの整数インデックスを作成する
const dfd = require("danfojs-node")
s = new dfd.Series([1, 3, 5, undefined, 6, 8])
s.print()
0
0
1
1
3
2
5
3
南
4
6
5
8
JSONデータとベクトル演算の読み込み
const json_data = [{ A: 0.4612, B: 4.28283, C: -1.509, D: -1.1352 },
{ A: 0.5112, B: -0.22863, C: -3.39059, D: 1.1632 },
{ A: 0.6911, B: -0.82863, C: -1.5059, D: 2.1352 },
{ A: 0.4692, B: -1.28863, C: 4.5059, D: 4.1632 }]
df = new dfd.DataFrame(json_data)
// Adding to series object, can use sub, mul, div, and pow
df['A'].add(df['B']).print()
df['A'].pow(2).print()
// Maximum value of C
console.log(df['C'].max()) // 4.505899
AとBを加える
エー
0
4.744029998779297
1
0.2825744631958
2
- 013752999921539307
3
- 081942999362956
正方形
エー
0
0.21270543336868286
1
0.2613254487514496
2
0.4776192009449005
3
0.2201482298965454
URLからCSVファイルを読み込む
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
//prints the first five columns
df.head().print()
}).catch(err => {
console.log(err);
})
図書館
ミニファイファイルサイズ( KB )
ギタブスターズ
0
ノックアウト.js
17
5036年
1
角度.js
106
24580
2
ミーンズ.js
71
10368年
3
カン.js
82
928年
4
反応する.js
123
7015年
すべての数値列の記述統計量の計算
df.describe().print()
ミニファイファイルサイズ( KB )
ギタブスターズ
カウント
7
7
平均
58.071426
9464.286133
std
49.75978
9038.434833
分
1
156
メディアン
71
7015年
マックス
123
24580
分散
2476.035714
81693304.23
データ、カラム名、およびDtypesの型
console.log(df.shape);
console.log(df.column_names);
df.ctypes.print()
[ 7, 3 ]
[ 'Library', 'Minified File Size (kb)', 'Github Stars' ]
0
図書館
文字列
ミニファイファイルサイズ( KB )
float 32
ギタブスターズ
Int 32
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
df['Library'].print()
}).catch(err => {
console.log(err);
})
図書館
0
ノックアウト.js
1
角度.js
2
ミーンズ.js
3
カン.js
4
反応する.js
5
バックボーン.js
6
モデル.js
ラベルによるマルチ軸の選択,スライシングおよびクエリによる選択
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
// Selection by label
const sub_df = df.loc({ rows: [0, 1], columns: ["Library", "Github Stars"] })
sub_df.print()
// Selection by slicing
const slice_df = df.loc({ rows: ["0:4"], columns: ["Library", "Github Stars"] })
slice_df.print()
// Selection by query
const query_df = df.query({ "column": "Github Stars", "is": ">", "to": 10000 })
query_df.print()
}).catch(err => {
console.log(err);
})
多軸ラベルによる選択
図書館
ギタブスターズ
0
ノックアウト.js
5036年
1
角度.js
24580
スライスによる選択
図書館
ギタブスターズ
0
ノックアウト.js
5036年
1
角度.js
24580
2
ミーンズ.js
10368年
3
カン.js
928年
クエリによる選択
図書館
ミニファイファイルサイズ( KB )
ギタブスターズ
1
角度.js
106
24580
2
ミーンズ.js
71
10368年
5
バックボーン.js
6.5
18167年
DataFrameオブジェクトの上で実行できる多くの数学的操作があります。
Danfoサポートプロット
DanfoはプロットのためのバックエンドとしてPlotly.jsを使用しています.これは私たちの能力をDataframeとシリーズからインタラクティブなプロットをすることができます.プロットのみのDanfoのブラウザのバージョンで動作します.JSは、プロットを表示するには、HTMLのdivが必要です.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--danfojs CDN -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>
<title>Document</title>
</head>
<body>
<div id="plot_div"></div>
<script>
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
var layout = {
title: 'JavaScript Libraries and Github Stars',
xaxis: {
title: 'Libraries',
},
yaxis: {
title: 'Stars',
}
}
new_df = df.set_index({ key: "Library" })
new_df.plot("plot_div").bar({ columns: ["Github Stars"], layout: layout })
}).catch(err => {
console.log(err);
})
</script>
</body>
</html>
Reference
この問題について(Danfoへの誘惑データの操作と処理), 我々は、より多くの情報をここで見つけました
https://dev.to/dminor/intoduction-to-danfo-js-44j6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Danfoを取得する2つの方法があります.jsNPM経由でインストールするには、次の手順を実行します.
npm install danfojs-node
また、以下のCDNを使ってブラウザでインストールして利用することもできます.<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>
値のリストを渡すことによって一連のオブジェクトを作成し、Danfoをさせる。デフォルトの整数インデックスを作成する
const dfd = require("danfojs-node")
s = new dfd.Series([1, 3, 5, undefined, 6, 8])
s.print()
00
1
1
3
2
5
3
南
4
6
5
8
JSONデータとベクトル演算の読み込み
const json_data = [{ A: 0.4612, B: 4.28283, C: -1.509, D: -1.1352 },
{ A: 0.5112, B: -0.22863, C: -3.39059, D: 1.1632 },
{ A: 0.6911, B: -0.82863, C: -1.5059, D: 2.1352 },
{ A: 0.4692, B: -1.28863, C: 4.5059, D: 4.1632 }]
df = new dfd.DataFrame(json_data)
// Adding to series object, can use sub, mul, div, and pow
df['A'].add(df['B']).print()
df['A'].pow(2).print()
// Maximum value of C
console.log(df['C'].max()) // 4.505899
AとBを加える
エー
0
4.744029998779297
1
0.2825744631958
2
- 013752999921539307
3
- 081942999362956
正方形
エー
0
0.21270543336868286
1
0.2613254487514496
2
0.4776192009449005
3
0.2201482298965454
URLからCSVファイルを読み込む
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
//prints the first five columns
df.head().print()
}).catch(err => {
console.log(err);
})
図書館ミニファイファイルサイズ( KB )
ギタブスターズ
0
ノックアウト.js
17
5036年
1
角度.js
106
24580
2
ミーンズ.js
71
10368年
3
カン.js
82
928年
4
反応する.js
123
7015年
すべての数値列の記述統計量の計算
df.describe().print()
ミニファイファイルサイズ( KB )ギタブスターズ
カウント
7
7
平均
58.071426
9464.286133
std
49.75978
9038.434833
分
1
156
メディアン
71
7015年
マックス
123
24580
分散
2476.035714
81693304.23
データ、カラム名、およびDtypesの型
console.log(df.shape);
console.log(df.column_names);
df.ctypes.print()
[ 7, 3 ]
[ 'Library', 'Minified File Size (kb)', 'Github Stars' ]
0図書館
文字列
ミニファイファイルサイズ( KB )
float 32
ギタブスターズ
Int 32
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
df['Library'].print()
}).catch(err => {
console.log(err);
})
図書館0
ノックアウト.js
1
角度.js
2
ミーンズ.js
3
カン.js
4
反応する.js
5
バックボーン.js
6
モデル.js
ラベルによるマルチ軸の選択,スライシングおよびクエリによる選択
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
// Selection by label
const sub_df = df.loc({ rows: [0, 1], columns: ["Library", "Github Stars"] })
sub_df.print()
// Selection by slicing
const slice_df = df.loc({ rows: ["0:4"], columns: ["Library", "Github Stars"] })
slice_df.print()
// Selection by query
const query_df = df.query({ "column": "Github Stars", "is": ">", "to": 10000 })
query_df.print()
}).catch(err => {
console.log(err);
})
多軸ラベルによる選択
図書館
ギタブスターズ
0
ノックアウト.js
5036年
1
角度.js
24580
スライスによる選択
図書館
ギタブスターズ
0
ノックアウト.js
5036年
1
角度.js
24580
2
ミーンズ.js
10368年
3
カン.js
928年
クエリによる選択
図書館
ミニファイファイルサイズ( KB )
ギタブスターズ
1
角度.js
106
24580
2
ミーンズ.js
71
10368年
5
バックボーン.js
6.5
18167年
DataFrameオブジェクトの上で実行できる多くの数学的操作があります。
Danfoサポートプロット
DanfoはプロットのためのバックエンドとしてPlotly.jsを使用しています.これは私たちの能力をDataframeとシリーズからインタラクティブなプロットをすることができます.プロットのみのDanfoのブラウザのバージョンで動作します.JSは、プロットを表示するには、HTMLのdivが必要です.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--danfojs CDN -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>
<title>Document</title>
</head>
<body>
<div id="plot_div"></div>
<script>
dfd.read_csv("https://raw.githubusercontent.com/curran/data/gh-pages/jsLibraries/jsLibs.csv")
.then(df => {
var layout = {
title: 'JavaScript Libraries and Github Stars',
xaxis: {
title: 'Libraries',
},
yaxis: {
title: 'Stars',
}
}
new_df = df.set_index({ key: "Library" })
new_df.plot("plot_div").bar({ columns: ["Github Stars"], layout: layout })
}).catch(err => {
console.log(err);
})
</script>
</body>
</html>
Reference
この問題について(Danfoへの誘惑データの操作と処理), 我々は、より多くの情報をここで見つけました https://dev.to/dminor/intoduction-to-danfo-js-44j6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol