danfo.DataFrame.query(kwargs) [source]
Parameters | Type | Description | Default |
kwargs | Object | {column : str, name of the column is: Logical operator, one of ">", "<", ">=", "<=", and. "==" to: Int, Float, Str. Value to compare against, inplace: boolean. true | false. Whether to perform operation to the original Object or create a new one. } | {inplace: false} |
Returns:
return new DataFrame
To query a DataFrame, you can specify the column to use, the logical operator (">", "<", ">=", "<=", and. "=="), and the value to compare against.
const dfd = require("danfojs-node")let data = {"A": [30, 1, 2, 3],"B": [34, 4, 5, 6],"C": [20, 20, 30, 40]}let cols = ["A", "B", "C"]let df = new dfd.DataFrame(data, { columns: cols })df.print() //before querylet query_df = df.query({ "column": "B", "is": ">", "to": 5 })query_df.print() //after query
//before query╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ 1 │ 2 │ 3 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 1 │ 4 │ 5 │ 6 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 2 │ 20 │ 30 │ 40 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ 39 │ 89 │ 78 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝//after query╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 2 │ 20 │ 30 │ 40 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ 39 │ 89 │ 78 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
const dfd = require("danfojs-node")let data = {"A": [30, 1, 2, 3],"B": [34, 4, 5, 6],"C": [20, 20, 30, 40]}let df = new dfd.DataFrame(data)df.print()let query_df = df.query({ "column": "A", "is": ">", "to": 9 })query_df.print() //after query
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ 30 │ 34 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 1 │ 1 │ 4 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 2 │ 2 │ 5 │ 30 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ 3 │ 6 │ 40 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝//after query╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ 30 │ 34 │ 20 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
The query method also works on string columns.
const dfd = require("danfojs-node")let data = {"A": ["Ng", "Yu", "Mo", "Ng"],"B": [34, 4, 5, 6],"C": [20, 20, 30, 40]}let df = new dfd.DataFrame(data)df.print()let query_df = df.query({ column: "A", is: "==", to: "Ng"})query_df.print() //after query
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ Ng │ 34 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 1 │ Yu │ 4 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 2 │ Mo │ 5 │ 30 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ Ng │ 6 │ 40 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝//after query╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ Ng │ 34 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ Ng │ 6 │ 40 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝
const dfd = require("danfojs-node")let data = {"A": [30, 1, 2, 3],"B": [34, 4, 5, 6],"C": [20, 20, 30, 40]}let cols = ["A", "B", "C"]let df = new dfd.DataFrame(data, { columns: cols })df.query({column: "B",is: ">",to: 5,inplace: true})df.print()
╔═══╤═══════════════════╤═══════════════════╤═══════════════════╗║ │ A │ B │ C ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 0 │ 30 │ 34 │ 20 ║╟───┼───────────────────┼───────────────────┼───────────────────╢║ 3 │ 3 │ 6 │ 40 ║╚═══╧═══════════════════╧═══════════════════╧═══════════════════╝